every()方法没有返回正确的值

the every() method not returning correct value

本文关键字:返回 方法 every      更新时间:2023-09-26

谁能告诉我为什么这是返回真?它应该返回false,因为在第一次迭代中值[pre] === 0…谢谢。

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] !== null 
        && value[pre] !== undefined 
        && value[pre] !== "" 
        && value[pre] !== 0);

jsfiddle https://jsfiddle.net/4wcovask/