underscore.js: _.zip.apply example

2019-02-22 11:04发布

问题:

I would like to see an example of _.zip.apply using underscore.js.

In the underscore documentation is written:

If you're working with a matrix of nested arrays, zip.apply can transpose the matrix in a similar fashion.

However, the documentation provides no example.

回答1:

It's your standard use of apply:

_.zip.apply(null, [ ['foo','bar'], [0,1] ])

This would result in the following:

[['foo', 0], ['bar', 1]]


回答2:

You can use also a 'non-external-library' method:

Create this function:

function transpose(arr) {
        return Object.keys(arr[0]).map(function (c) {
            return arr.map(function (r) {
                return r[c];
            });
        });
    }

and then:

var transposedArray = transpose(originalArray);