如何在JavaScript中循环遍历固定的(开发时间)值列表?
在Perl中,我会这样做:
for my $item ('foo', 'bar', 'baz') {
这将使用foo
中的bar
,baz
和$item
来运行循环(每个循环运行一次)。
JavaScript可以做到:
for (item in new Array('foo', 'bar', 'baz')) {
但这会使item
包含0
,1
和2
,而不是值。
复制并粘贴每个项目的源是一种选择,但在维护方面则是非常糟糕的选择。
另一个选择是
var items = new Array('foo', 'bar', 'baz');
for (i in items) {
var item = items[i];
但这也是不好的代码,因为它定义了一个结构(数组),并且不需要很多开销。
答案 0 :(得分:5)
不是使用i in items
,而是使用let i of items
,这是因为in
获取属性名称,但是of
实际上正确地遍历了数组。
答案 1 :(得分:1)
一个不错的选择是像这样使用forEach
:
['foo', 'bar', 'baz'].forEach(function(item){ console.log(item); })
for循环仅适用于object object
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach