【发布时间】:2021-09-21 12:09:37
【问题描述】:
我正在练习 for-in 语句。
我想将所有大于 5 的数字放入一个新数组中并将它们打印到控制台。
let numbers = [1, 2, 3, 4, 5, 6, 7, 8];
let result=[];
for (var number in numbers){
result.push (number => number > 5)
console.log(result);
}
【问题讨论】:
-
不要将
for...in...用于数组。这仅用于迭代对象的属性。 -
那我会用什么
-
.push()将参数添加到调用它的数组中。您希望.push(number => number > 5)会发生什么?整个构造应该只是一个.filter()调用。 -
一个常规的
for循环,.forEach(),.filter(),.reduce(),while,... - 满足您的需求(在这种情况下是.filter()) -
警告:
for( ... in ... )为您提供元素的 index。你不会得到1, 2, 3, 4,而是0, 1, 2, 3(你的数组中数字1的索引是0)。如果您想要元素本身,请使用for( ... of ...)
标签: javascript arrays object