【问题标题】:Can the lodash zip function work with an array of arrays?lodash zip 函数可以与数组数组一起使用吗?
【发布时间】:2016-06-30 01:50:13
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript arrays lodash


    【解决方案1】:

    您可以使用 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)
    

    【讨论】:

    • 这是关于正确传递上下文的重要说明。有时传递 null 可能会起作用,但 lodash 对象显然是正确的选择。
    【解决方案2】:

    当然,试试这个:

    _.zip.apply(_, aa)
    

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 2010-10-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-11-25
      • 2017-11-22
      • 2012-06-15
      • 2012-01-12
      相关资源
      最近更新 更多