在Javascript数组中一次循环多个元素的惯用方法是什么?

问题描述 投票:0回答:1

在Python中,你可以做如下操作。

>>> foo = ["some", "random", "list", "foo"]
>>> for a, b, c in zip(foo, foo[1:], foo[2:]):
...     print(f"{a} {b} {c}")
... 
some random list
random list foo

如何在Javascript中做同样的事情 而不需要在循环中使用位置索引?或者说这是习惯性的方式?

javascript loops idioms ecmascript-7
1个回答
2
投票

你可以拿一个生成器来获取零件。

function* zip(array, n) {
    let i = 0;
    while (i + n <= array.length) {
        yield array.slice(i, i + n);
        i++;
    }
}

let foo = ["some", "random", "list", "foo"];

for (let [a, b, c] of zip(foo, 3))
    console.log(a, b, c);
© www.soinside.com 2019 - 2024. All rights reserved.