Tem*_*ary 7 javascript loops lodash
我在下面显示的javascript中有一个for循环.如何将其转换为lodash for loop?在这种情况下使用lodash比javascript for循环有利吗?
我没有多用过lodash.因此,请建议.
for (var start = b, i = 0; start < end; ++i, ++start) {
// code goes here
}
Run Code Online (Sandbox Code Playgroud)
And*_*uca 12
您可以使用 lodash range
https://lodash.com/docs/4.17.4#range
_.range(5, 10).forEach((current, index, range) => {
console.log(current, index, range)
})
// 5, 0, [5, 6, 7, 8, 9, 10]
// 6, 1, [5, 6, 7, 8, 9, 10]
// 7, 2, [5, 6, 7, 8, 9, 10]
// 8, 3, [5, 6, 7, 8, 9, 10]
// 9, 4, [5, 6, 7, 8, 9, 10]
// 10, 5, [5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)
我会想象,b = 3而end = 10如果我运行代码,并打印这里的变量是什么,我会得到:
var b = 3;
var end = 10;
for (var start = b, i = 0; start < end; ++i, ++start) {
console.log(start, i);
}
> 3 0
> 4 1
> 5 2
> 6 3
> 7 4
> 8 5
> 9 6
Run Code Online (Sandbox Code Playgroud)
要使用lodash(或下划线)执行此操作,我将首先生成一个数组,range然后迭代它并在每次迭代时获取索引.
这是结果
var b = 3;
var end = 10;
// this will generate an array [ 3, 4, 5, 6, 7, 8, 9 ]
var array = _.range(b, end);
// now I iterate over it
_.each(array, function (value, key) {
console.log(value, key);
});
Run Code Online (Sandbox Code Playgroud)
你会得到相同的结果.复杂性与前一个相同(因此没有性能问题).
| 归档时间: |
|
| 查看次数: |
13624 次 |
| 最近记录: |