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

【问题讨论】:

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

标签: javascript loops idioms ecmascript-2016


【解决方案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);

【讨论】:

    猜你喜欢
    • 2020-04-18
    • 2011-07-17
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 1970-01-01
    • 2015-05-22
    相关资源
    最近更新 更多