0
function every(array, predictate){
array.forEach(function(x){
if (!predictate(x))
{
return false;
}
});
return true;
}
console.log(every([NaN, NaN, NaN], isNaN));
//true
console.log(every([NaN, NaN, 4], isNaN));
//suppose to return false, but still return true...
第二個console.log
應該返回false,但它返回true。我做錯了什麼?爲什麼這段代碼不會返回false?
我覺得我幾乎得到它:除非你將其更改爲類似
every
將始終返回true。你認爲你可以多澄清一點嗎? 「返回false是forEach中使用的匿名函數的返回。」 你指的是函數(x)?爲什麼它不能返回false? 對不起,如果我沒有任何意義。 – Sotra是的,我指的是'function(x)'。這個函數可以返回false,這就是你正在做的。但是'every'不會因爲匿名函數返回false而返回false。 – Magus
哦,我明白你的意思......因爲我打電話給每一個不是匿名函數,這就是爲什麼我想每個人都返回false而不是匿名函數。 我一直在這一段時間。我終於明白了。謝謝。 – Sotra