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

Javascript 如何在数组中查找所有具有假值的对象?,javascript,arrays,object,key,hasownproperty,Javascript,Arrays,Object,Key,Hasownproperty,在Javascript中,获取数组中具有假值的所有ObjectKey的正确方法是什么: [ { unknownkey1 : false }, { unknownkey2 : true }, { unknownkey3 : false }, { unknownkey4 : true }, { unknownkey5 : false }, { unknownkey6 : true } ] 结果应该是一个数组,其中包含所有具有假值的键 我想要的是一个更清洁的解决方案

在Javascript中,获取数组中具有假值的所有ObjectKey的正确方法是什么:

[
  { 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 );

      }

    }

}
for(var i=0;i

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

您希望遍历数组,然后遍历每个对象中的每个键,然后将那些
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);
    }
});

您希望遍历数组,然后遍历这些对象中的每个键,然后将这些
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);
    }
});

否。如果不是false,则它包含另一个对象。但是它们是不需要的,如果可能的话,我更喜欢一种忽略子对象的方式。如果不为false,则它包含另一个对象。但是它们是不需要的,如果可能的话,我更喜欢忽略子对象的方法。这是唯一的方法吗?循环中的一个循环,它也在每个不需要的子对象上循环?我编辑了这个问题。如果该值不为false,则它是另一个对象。@user2429266如果一个对象中永远不会有多个键,那么显然可以不使用内部循环。但是如果是这样的话,为什么要使用数组呢?我看不到更好的方法来处理我的情况。一开始我试着让它发挥作用。。也许在那之后,一旦我了解了整个过程,我就会试图弄明白数组的概念变得不受欢迎。这对我来说很棘手。执行所有这些异步操作,并跟踪错误值发生的位置,并在异步操作完成后使用来自src的数据进行更新,该src不发送用于标识密钥的内容。我所得到的只是按我要求的顺序排列的数据。嵌入。这对我来说很难,因为我还没有真正深入地接触到所有这些异步函数。。。对可能不需要阵列概念。。但这是在它工作后需要解决的问题。^^不用担心,以后总会有更多的时间来清理/重构东西;)这是唯一的办法吗?循环中的一个循环,它也在每个不需要的子对象上循环?我编辑了这个问题。如果该值不为false,则它是另一个对象。@user2429266如果一个对象中永远不会有多个键,那么显然可以不使用内部循环。但是如果是这样的话,为什么要使用数组呢?我看不到更好的方法来处理我的情况。一开始我试着让它发挥作用。。也许在那之后,一旦我了解了整个过程,我就会试图弄明白数组的概念变得不受欢迎。这对我来说很棘手。执行所有这些异步操作,并跟踪错误值发生的位置,并在异步操作完成后使用来自src的数据进行更新,该src不发送用于标识密钥的内容。我所得到的只是按我要求的顺序排列的数据。嵌入。这对我来说很难,因为我还没有真正深入地接触到所有这些异步函数。。。对可能不需要阵列概念。。但这是在它工作后需要解决的问题。^^不用担心,以后总会有更多的时间来清理/重构东西;)