我有使用javascript的这段代码:var arr = [ 'one', 'two', 'three', 'four', 'five'];for (var property1 in arr) { console.log(property1);}当我执行此代码时,我得到:'1''2''3''4' 但是我想要这个:'one','two','three','four','five'如何使用for进行此操作?
2 回答

慕莱坞森
TA贡献1810条经验 获得超4个赞
如果要遍历数组,则需要使用for..in。您可以使用for..of或for循环,但最好了解为什么会发生这种情况。
for..in遍历对象的键/值对。括号中的变量被设置key为该键/值对的。对于数组,它将被设置为数组的索引或任何可枚举的属性。这就是为什么它打印数字而不是单词的原因。
我还想指出一些迭代方法,这些方法可能在命令式循环之外有用。
arr.forEach将允许您遍历数组而无需额外的for语法。
arr.forEach(item => console.log(item))
当您开始遍历列表时,诸如arr.map和的其他方法arr.filter将为您提供更多功能。
const numbers = [1,22,11,18,16];
const add = a => b => a + b;
const isEven = number => number %2 === 0;
const biggerEvenNumbers = numbers
.map(add(1))
.filter(isEven) // [2,12]
添加回答
举报
0/150
提交
取消