이것이 사실을 반환하는 이유를 친절하게 말해 줄 수 있습니까? false를 반환해야합니다. 첫 번째 반복 값 [pre] === 0 ... 감사합니다.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
읽기를 고려하십시오. De Morgan의 법에 관한 것. 또한 모든 값이'null' ** 또는 ** undefined가 아니라고 생각하십시오. – zzzzBov
왜 그런지 설명해 주시겠습니까? 배열에 속성 pre가 포함되어 있고 pre의 값이 null, undefined, ""또는 0과 같지 않으면 true를 반환합니다 (테스트를 통과 한 것처럼)? 왜 && 연산자를 사용하면 효과가 있습니까? 또는 논리를 뒤집을 수 있습니까? –