[英]Array iteration: Rewriting forEach loop to for loop
對於一個練習,我必須將此 forEach 循環重寫為一個 for 循環:
var numbers = [1,2,3,4,5,6,7,8,9,10];
numbers.forEach(function(number){
if(number % 3 === 0) {
console.log(number);
}
});
我想出了以下內容,但它並沒有真正起作用,因為它給了我未定義:
var numbers = [1,2,3,4,5,6,7,8,9,10];
for(var i = 0; i < numbers.length; i++) {
if(numbers % 3 === 0) {
console.log(numbers);
}
};
有人可以向我解釋出了什么問題嗎?
if(numbers[i] % 3 === 0) {
console.log(numbers[i]);
}
您需要第i-th
(當前一個)元素numbers
:
var numbers = [1,2,3,4,5,6,7,8,9,10]; for(var i = 0; i < numbers.length; i++) { if(numbers[i] % 3 === 0) { // ^^^---here console.log(numbers[i]); // ^^^---here } };
您必須使用數字的第 i 個元素。
var numbers = [1,2,3,4,5,6,7,8,9,10]; for(var i = 0; i < numbers.length; i++) { if(numbers[i] % 3 === 0) { console.log(numbers[i]); } };
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]; function fun(number) { if (number % 3 === 0) { console.log(number); } } // Your code with `forEach` numbers.forEach(fun); // Same with for-loop when convert for (var i = 0; i < numbers.length; i++) { fun(numbers[i]); } // you are using `numbers % 3`, numbers is an array and you actually you wanted to use with number (which will be `numbers[i]`
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.