2016-07-31 84 views
0

/*我基本上試圖使用運算符不僅返回20和40從我的數組,但也返回30.我敢肯定它是一個非常簡單的錯誤,但我很想知道我的語法錯在哪裏!請原諒壞的語義,我重複着同樣的過濾器的操作與實踐的差異*/JavaScript使用過濾器W &&不返回所需的console.log

var numbersArray = [20, 25, 30, 40]; 

var filtering = numbersArray.filter(function resultNewNumbers(newnewNUM){ 
    return (newnewNUM % 20 === 0) && (newnewNUM % 10 === 0); 
}); 

console.log(filtering); 
+1

看來你剛需要'return(newnewNUM%10 === 0);'。 – undefined

+2

爲什麼不只是使用%10,爲什麼有%20呢? –

回答

2

用此測試

(newnewNUM % 20 === 0) && (newnewNUM % 10 === 0) 

你是否newnewNUM是20 10.因此30多不是30

多,但如果修改您的測試是這樣的:

(newnewNUM % 20 === 0) || (newnewNUM % 10 === 0) 30 will emerge 
+0

這就是爲什麼我問....因爲我需要另一雙眼睛才能看到最基本的缺陷。尷尬,但謝謝! –

1

試一試即30 % 20 = 0.5

var numbersArray = [20, 25, 30, 40]; 

var filtering = numbersArray.filter(function resultNewNumbers(newnewNUM){ 
    return (newnewNUM % 20 === 0) || (newnewNUM % 10 === 0); 
}); 

console.log(filtering); 

,或者如果你想使用& &嘗試以下

var numbersArray = [20, 25, 30, 40]; 

var filtering = numbersArray.filter(function resultNewNumbers(newnewNUM){ 
    return (newnewNUM/20 > 0) && (newnewNUM % 10 === 0); 
}); 

console.log(filtering); 
相關問題