javascript - 如何在数组中查找所有具有假值的对象?

标签 javascript arrays object key hasownproperty

在像这样的 Javascript 数组中获取所有具有假值的对象键的正确方法是什么:

[
  { unknownkey1 : false },
  { unknownkey2 : true  },  
  { unknownkey3 : false },
  { unknownkey4 : true  },
  { unknownkey5 : false },
  { unknownkey6 : true  }
]

结果应该是一个包含所有具有假值的键的数组。

我想要的是一个更简洁的解决方案:

for(var i = 0; i < results.length; i++ ){

    for ( key in results[i] ) {

      if ( results[i].hasOwnProperty( key ) && results[i][key] === false ){

         console.log( key );

      }

    }

}

如果该值不为假,则它包含另一个对象。但它们不是必需的,如果可能的话,我更喜欢一种忽略子对象的方法。

最佳答案

您想遍历数组,然后遍历每个对象中的每个键,然后将那些 false 键存储在另一个数组中。非常简单。

var data = [
  { unknownkey1 : false },
  { unknownkey2 : true  },  
  { unknownkey3 : false },
  { unknownkey4 : true  },
  { unknownkey5 : false },
  { unknownkey6 : true  }
];

var keys = [];

data.forEach(function(object) {
    for (var key in object) {
        if (object[key] === false) keys.push(key);
    }
});

关于javascript - 如何在数组中查找所有具有假值的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23138274/

相关文章:

javascript - 在 Javascript 中如何将数组的数组从字符串转换为数字?

javascript - 当元素 id 出现在视口(viewport)中并出现 jquery 时发出警报

java - 我如何调用方法 'func'以及实现这个对象的意义是什么?

javascript - 使用对象数组构造一个新对象,该对象将调用原始数组中声明的函数

javascript - Logo 在移动设备上变大(Javascript)

更多 JavaScript 的 JavaScript 预加载器

java - 是什么导致了 java.lang.ArrayIndexOutOfBoundsException 以及如何防止它?

arrays - 为什么将 HashTable 的长度设置为质数是一个好习惯?

计算数组中整数的总和

javascript - p5.j​​s 中对象的 2D 网格