我想创建一个返回true的函数(每个对象应该至少有一个isValid:true
)否则返回false。
const Items = [{
parentValidators: [{
isValid: true
}, {
isValid: false
}, {
isValid: false
}]
},
{
parentValidators: [{
isValid: true
}, {
isValid: false
}, {
isValid: false
}]
}
]
// i tried :
validateSection() {
Items.map(item => {
if (item.parentValidators) {
const logs = item.parentValidators;
return logs.map(l => {
return l.isValid ? true : l.isValid;
});
}
}).map((i, indx, arr) => {
let count = 0;
if (i.includes('true')) {
count++;
}
return count === array.length ? true : false;
})
}
答案 0 :(得分:4)
如果Items
中的每个项目至少有一个isValid
值为true
的验证程序,则返回true的函数是数组{{1}的组合的完美用例}和every
方法:
some

答案 1 :(得分:1)
可以使用Array#some
const Items = [{
parentValidators: [{
isValid: true
}, {
isValid: false
}, {
isValid: false
}]
},
{
parentValidators: [{
isValid: false
}, {
isValid: false
}, {
isValid: false
}]
}
]
const res = Items.map(({parentValidators:v})=> v.some(({isValid:i})=>i))
console.log(res)