如何在JavaScript中循环遍历静态值(常量)列表?

4

如何在JavaScript中循环遍历一个固定的(开发时)值列表?

在Perl中,我会这样做:

foreach my $value ('foo', 'bar', 'baz') { # do something with $value }

最初的回答:

for my $item ('foo', 'bar', 'baz') {

这段代码会用$item分别运行循环中的foobarbaz

JavaScript可以这样实现:

for (item in new Array('foo', 'bar', 'baz')) {

但那样会使item包含012,而不是值。
复制粘贴每个项目的源代码是一种选择,但在维护方面非常糟糕。
另一种选择是:
var items = new Array('foo', 'bar', 'baz');
for (i in items) {
    var item = items[i];

但是这也是糟糕的代码,因为它定义了一个有很多开销的结构(数组),而实际上并不需要。

润色后的翻译:

但这也是糟糕的代码,因为它定义了一个带有许多开销的结构(数组),而实际上却没有必要。


使用for (item of ...)代替:for...of - undefined
预期输出是什么? - undefined
2个回答

6

使用let i of items代替i in items,因为in返回属性名,而of可以正确地迭代数组。


谢谢。我以为这很简单,但在网上找不到任何相关信息。 - undefined

3

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接