JavaScript中如何判断对象数组的属性值是否存在空值
JavaScript对象数组空属性校验实现
校验规则
- 当数组内所有对象的所有属性值均为非空字符串时,返回
true - 只要存在任意一个对象的任意一个属性值为空字符串,返回
false
校验示例1(返回true)
[ { "price": "12", "number": "1" }, { "price": "12", "number": "1" } ]
校验示例2(返回false)
[ { "price": "12", "number": "1" }, { "price": "12", "number": "" } ]
实现代码
function checkArrayNoEmptyAttr(arr) { return arr.every(item => Object.values(item).every(val => val !== '')) }
调用测试
// 测试示例1 const testArr1 = [{"price":"12","number":"1"},{"price":"12","number":"1"}] console.log(checkArrayNoEmptyAttr(testArr1)) // 输出true // 测试示例2 const testArr2 = [{"price":"12","number":"1"},{"price":"12","number":""}] console.log(checkArrayNoEmptyAttr(testArr2)) // 输出false
扩展说明
如果需要同时校验null、undefined、纯空格这类无效值,可以调整校验规则:
function checkArrayNoEmptyAttr(arr) { // 空字符串、null、undefined、全空格都判定为空值 return arr.every(item => Object.values(item).every(val => val != null && val.trim() !== '')) }
内容的提问来源于stack exchange,提问作者Benk I
相关产品推荐
相关产品推荐

