Javascript 如何在数组中查找所有具有假值的对象?
在Javascript中,获取数组中具有假值的所有ObjectKey的正确方法是什么: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 } ] 结果应该是一个数组,其中包含所有具有假值的键 我想要的是一个更清洁的解决方案
[
{ 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不发送用于标识密钥的内容。我所得到的只是按我要求的顺序排列的数据。嵌入。这对我来说很难,因为我还没有真正深入地接触到所有这些异步函数。。。对可能不需要阵列概念。。但这是在它工作后需要解决的问题。^^不用担心,以后总会有更多的时间来清理/重构东西;)