2016-06-30 43 views
5

lodash zip()函数通常接受两个或更多数组作为参数。它可以接受一组数组吗?lodash zip函数可以使用数组数组吗?

例如,给定类似var aa = [[1,2,3],[4,5,6]];的对象和期望的输出[[1,4],[2,5],[3,6]]必须调用zip(),如_.zip(aa[0],aa[1])。对于具有两个以上元素的数组数组,在函数调用中键入索引变得重复。

调用_.zip(aa)不起作用。它只是嵌套数组的原始数组。

回答

2

您可以图示您使用apply或ES2015 spread operator (...)数组的数组:

// call zip with a `this` context of the lodash object 
// and with each entry in aa as a separate argument 
// e. g. zip(aa[0], aa[1], ..., aa[N]); 
_.zip.apply(_, aa); 

// Same call, but using ES2015 
_.zip(...aa) 
+0

这是有关的权利的情况下传递一个重要的注意事项。它有时可能会传递'null',但lodash对象显然是正确的选择。 –

2

当然,试试这个:

_.zip.apply(_, aa) 
相关问题