[英]How to store divisible number in a new array with javascript
我試圖在三個數組中存儲可被三整除的數字。 這是怎么做到的?
var numbers = [1,2,3,4,5,6,7,8,9];
var threes = [];
var iLoveThree = function(numbers,threes){
for(i in numbers){
if(i.value % 3 == 0){
threes.push([i]);
console.log(threes);
}
} return threes
};
iLoveThree();
有一些問題。
您需要使用索引numbers[i]
訪問數組中的numbers[i]
而不僅僅是檢查索引。
您還需要將兩個參數傳遞給iLoveThree
函數。
這是工作代碼:
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9];
var threes = [];
var iLoveThree = function (numbers, threes) {
for (i in numbers) {
if (numbers[i] % 3 === 0) {
threes.push(numbers[i]);
}
}
return threes;
};
console.log(iLoveThree(numbers, threes));
// [3, 6, 9]
作為旁注,您可以使用.filter()
方法簡化代碼。
如果boolean num % 3 === 0
為true,則不會從數組中刪除該數字。
var numbers = [1,2,3,4,5,6,7,8,9].filter(function (num) {
return num % 3 === 0;
});
console.log(numbers);
// [3, 6, 9]
當你做推動時,你把括號括在i
身邊。 你不需要括號。
var numbers = [1,2,3,4,5,6,7,8,9];
var threes = [];
var iLoveThree = function(numbers,threes){
for(i in numbers){
if(i.value % 3 == 0){
threes.push(i); //don't put brackets here
console.log(threes);
}
} return threes
};
干得好:
var numbers = [1,2,3,4,5,6,7,8,9];
function iLoveThree(numbers) {
return numbers.filter(function(n) {
return n % 3 === 0;
});
}
var threes = iLoveThree(numbers);
嘗試替換for
循環for..in
循環; 在當前迭代中使用數組中的numbers[i]
數而不是數組中的[i]
項索引
var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var threes = []; for(var i = 0; i < numbers.length; i++) !(numbers[i] % 3) && threes.push(numbers[i]); console.log(threes)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.