lodash:如何在起始值和结束值之间循环
lodash : how to loop with between a start value and end value
我在 javascript 中有一个 for 循环,如下所示。 如何将其转换为 lodash for 循环?
在这种情况下,使用 lodash 优于 javascript for loop?
我没怎么用过lodash。因此请指教。
for (var start = b, i = 0; start < end; ++i, ++start) {
// code goes here
}
似乎没有用于编写松散 for
循环(那些不遍历集合)的 lodash 方法,但这是它的简化版本:
for (var i = 0; i < end - b; i++) {
var start = i + b;
// code goes here
}
我会想象 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
要使用 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);
});
你会得到同样的结果。复杂度与上一个相同(因此没有性能问题)。
你可以使用 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]
我在 javascript 中有一个 for 循环,如下所示。 如何将其转换为 lodash for 循环? 在这种情况下,使用 lodash 优于 javascript for loop?
我没怎么用过lodash。因此请指教。
for (var start = b, i = 0; start < end; ++i, ++start) {
// code goes here
}
似乎没有用于编写松散 for
循环(那些不遍历集合)的 lodash 方法,但这是它的简化版本:
for (var i = 0; i < end - b; i++) {
var start = i + b;
// code goes here
}
我会想象 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
要使用 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);
});
你会得到同样的结果。复杂度与上一个相同(因此没有性能问题)。
你可以使用 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]