【问题标题】:Lodash: Start an Array iteration from nth indexLodash:从第 n 个索引开始数组迭代
【发布时间】:2015-10-20 11:09:35
【问题描述】:

在 lodash 中,如何从第 n 个索引开始迭代数组? 暂时我使用以下逻辑:

var arr = [10, 2, 67, 7, 3, 24, 90, 19, 4, 1, 8];

// I want to start iteration of this array "arr" from 4th index by using lodash's APIs.

var arr1 = _.drop(arr, 3);

_.each(arr1, function(value){   
    console.log(value) 
});

【问题讨论】:

    标签: lodash


    【解决方案1】:

    您可以将slice()each() 结合使用,这与您已经在做的事情并没有太大的不同:

    _(arr)
        .slice(4)
        .each(function(item) { console.log(item); })
        .run();
    // →
    // 3
    // 24
    // 90
    // 19
    // 4
    // 1
    // 8
    

    【讨论】:

    • 感谢亚当的积极回应。是的,这个逻辑运行良好,但我想要一个函数。实际上我也使用了“drop”和“each”,我的逻辑也运行良好。但我想要一个可以从“arr”给出答案的函数如下: // 3 // 24 // 90 // 19 // 4 // 1 // 8
    • 为什么需要一个函数?
    • 我想减少我的代码大小,这只是一个原因。是否有任何单个 Lodash 的 API 函数可以提供相同的结果?
    • 您当前的代码和我建议的方法都非常小。我不会担心的。
    • 好的,谢谢亚当。是的,我知道你说的。但这只是我的好奇心。
    【解决方案2】:

    您可以使用 lodash 的函数findIndex。只是不要在函数内部返回true,所以它不会停止。

    _.findIndex(arr, function(value, index) {
        console.log(value, index);
    }, 3);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-25
      • 1970-01-01
      • 2019-12-20
      • 2021-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      相关资源
      最近更新 更多