我想验证并检查是否存在任何存在真实值的对象,而我不知道如何直接访问所有子存在值而不需要遍历父数组。下面显示结果。
{
user1: Array(2)
0: {exist: false}
1: {exist: true}
user2: Array(2)
0: {exist: false}
1: {exist: false}
}
答案 0 :(得分:0)
如果您知道对象只有这么深,则可以在some
上使用Object.values()
。您仍在遍历数组-无法避免这种情况-但至少它很简洁:
let obj = {
user1:[
{exist: false},
{exist: false}
],
user2: [
{exist: false},
{exist: true}
]
}
let t = Object.values(obj).some(arr => arr.some(o => o.exist === true))
// are some objects true?
console.log(t)
如果您的对象可以任意深,则需要递归查看所有内容。
答案 1 :(得分:-1)
您不能。您可以先查询父键,再查询子键,或者先循环所有父键,再查询子键。