一次循环遍历 Javascript 数组多个元素的惯用方法是啥?

Posted

技术标签:

【中文标题】一次循环遍历 Javascript 数组多个元素的惯用方法是啥?【英文标题】:What is the idiomatic way to loop over a Javascript array multiple elements at a time?一次循环遍历 Javascript 数组多个元素的惯用方法是什么? 【发布时间】:2020-09-28 16:28:48 【问题描述】:

在 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 中做同样的事情而不必在循环中使用位置索引?还是那是惯用的方式?

【问题讨论】:

嗨,肯特。我注意到您已将此标记为成语但不是成语。如果您认为这两个标签应该是同义词,请在本页底部投票:***.com/tags/idioms/synonyms 很遗憾,我在这个标签上没有足够的答案分数来投票。我在问题中添加了idiomatic 标签。 【参考方案1】:

你可以拿一台发电机来拿零件。

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);

【讨论】:

以上是关于一次循环遍历 Javascript 数组多个元素的惯用方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

javascript ,遍历数组 ,一次循环删除多个元素

javaScript数组遍历

JavaScript循环遍历

在Javascript中循环遍历数组的元素[重复]

一次性删除数组中的多个元素

JavaScript数组