Optimize function for assigning existing 3D array values to values of keys in array of objects
There's two things that might help performance, and could also make your code easier to understand:


only extract the length of the arrays once per loop, instead of per iteration
deference deeply nested structures earlier, and as infrequently as possible


For #1, I normally use:

for (var i = 0, n = array.length; i &lt; n; ++i) { ... }


For #2, look at your innermost nested line:

organized[k - 1][arrKeys[j]] = arr3d[k][j + 1].trim();


Consider reversing the order in which you enumerate over the data.  There's more scope for optimising values from the inner loop to the outer loop if you iterate over the "leftmost" components of your 2D structures first:

for (var k = 1, kn = arr3d.length; k &lt; kn; k++) {
    var o = organized[k - 1] = {};
    var a = arr3d[k];
    for (var j = 0, jn = arrKeys.length; j &lt; jn; j++) {
        var t = a[j + 1];
        if (t) {
            o[arrKeys[j]] = t.trim();
        }
    }
}


Note also that now that the loops are the other way around there's no need to pre-create the objects that make up the organized array - it's initialised with an empty object in the first line of the outer loop.