如何在javascript中检查对象的属性数组是否为空



我想检查下面的数组是否有空值

例子下面应该返回true

[
{
"price": "12",
"number": "1"
},
{
"price": "12",
"number": "1"
}
]

下面应该返回false

[
{
"price": "12",
"number": "1"
},
{
"price": "12",
"number": ""
}
]

您可以使用Array.someObject.values来检查数组中某项的属性值的长度是否小于1:

const arr=[{price:"12",number:"1"},{price:"12",number:"1"}];
const isValid = !arr.some(e => Object.values(e).some(f => f.length < 1))
console.log(isValid)

function isNonEmptyValue(value) {
return (
(value != null)
&& (value !== '') 
//&& any other *empty* value constraint
);
}
function hasEntriesAndNoEmptyValues(item) {
const values = Object.values(item);
return (
values.length >= 1 &&
values.every(value => isNonEmptyValue(value))
);
}
console.log(
[{
"price": "12",
"number": "1",
}, {
"price": "12",
"number": "",
}].every(hasEntriesAndNoEmptyValues)
);
console.log(
[{
"price": "12",
"number": "1",
}, {
"price": "12",
"number": " ",
}].every(hasEntriesAndNoEmptyValues)
);
console.log(
[{
}, {
"price": "12",
"number": " ",
}].every(hasEntriesAndNoEmptyValues)
);

最新更新