Javascript 在对象数组中,每个对象都应该至少有一个true属性值?
我想创建一个函数来返回true(每个对象应该至少有一个Javascript 在对象数组中,每个对象都应该至少有一个true属性值?,javascript,jquery,reactjs,ecmascript-6,Javascript,Jquery,Reactjs,Ecmascript 6,我想创建一个函数来返回true(每个对象应该至少有一个isValid:true),否则返回false const项=[{ 父验证程序:[{ 有效:对 }, { isValid:false }, { isValid:false }] }, { 父验证程序:[{ 有效:对 }, { isValid:false }, { isValid:false }] } ] //我试过: validateSection(){ Items.map(item=>{ if(item.parentValidators)
isValid:true
),否则返回false
const项=[{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
},
{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
}
]
//我试过:
validateSection(){
Items.map(item=>{
if(item.parentValidators){
const logs=item.parentValidators;
返回logs.map(l=>{
返回l.isValid?true:l.isValid;
});
}
}).map((i,indx,arr)=>{
让计数=0;
如果(i.包括('true')){
计数++;
}
返回计数===array.length?真:假;
})
}
如果项中的每个项都至少有一个值为true
的有效的验证器,则返回true的函数是数组每个和一些方法组合的完美用例:
const项=[{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
},
{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
}
]
//我试过:
函数validateSection(){
返回Items.every(validators=>validators.parentValidators.some(i=>i.isValid));
}
console.log(validateSection())
如果Items
中的每个项都至少有一个isValid
值为true
的验证器,则返回true的函数是数组every
和某些方法组合的完美用例:
const项=[{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
},
{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
}
]
//我试过:
函数validateSection(){
返回Items.every(validators=>validators.parentValidators.some(i=>i.isValid));
}
log(validateSection())
可以使用
const项=[{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
},
{
父验证程序:[{
isValid:false
}, {
isValid:false
}, {
isValid:false
}]
}
]
const res=Items.map({parentValidators:v})=>v.some({isValid:i})=>i))
console.log(res)
可以使用
const项=[{
父验证程序:[{
有效:对
}, {
isValid:false
}, {
isValid:false
}]
},
{
父验证程序:[{
isValid:false
}, {
isValid:false
}, {
isValid:false
}]
}
]
const res=Items.map({parentValidators:v})=>v.some({isValid:i})=>i))
console.log(res)