これが本当に返されている理由を親切に教えてもらえますか?それは最初の反復値[pre] === 0 ...ありがとうので、falseを返す必要があります。every()メソッドが正しい値を返さない
function truthCheck(collection, pre) {
function check(value){
if(value.hasOwnProperty(pre)){
return value[pre] !== null || value[pre] !== undefined || value[pre] !== ""|| value[pre] !== 0;
}
}
return collection.every(check);
}
truthCheck([{"user": "Tinky-Winky", "sex": "male", "age": 0}, {"user": "Dipsy", "sex": "male", "age": 3}, {"user": "Laa-Laa", "sex": "female", "age": 5}, {"user": "Po", "sex": "female", "age": 4}], "age");
。すなわち、 'return!(value [pre] === 0); – meganaut
読み込みを検討するデ・モルガンの法律についてまた、すべての値が 'null' **または** undefinedではないと考えてください。 – zzzzBov
あなたは理由を説明できますか?私は配列にプロパティpreが含まれていて、preの値がnull、undefined、 ""、または0でなければtrueを返すと言っています(テストに合格したので)? &&演算子を使用するのはなぜですか?または論理を逆転させるか? –