因此,第一个属性为“ single”的对象的值为空,但仍然是事实,我错了什么?

 function every(collection, pre) {
  var rtr = null;

  for(var e in collection){
     if(collection[e][pre] !== null &&
        collection[e][pre] !== undefined &&
        collection[e][pre] !== 0 &&
        collection[e][pre] !== "" &&
        collection[e][pre] !== false &&
        collection[e][pre] !== NaN){

       rtr = true;
     }
     else
        rtr = false;
  }

  console.log(rtr);

}

every([{"single": ""}, {"single": "double"}], "single");

最佳答案

console.log在循环之外。试试这个(我也删除了流浪的`):

function every(collection, pre) {
  var rtr = null;

  for(var e in collection){
     if(collection[e][pre] !== null &&
        collection[e][pre] !== undefined &&
        collection[e][pre] !== 0 &&
        collection[e][pre] !== "" &&
        collection[e][pre] !== false &&
        collection[e][pre] !== NaN){

       rtr = true;
     }
     else
        rtr = false;

     console.log(rtr);
  }

}

every([{"single": ""}, {"single": "double"}], "single");


它记录

false
true

10-05 20:39
查看更多