你可以使用 Array.prototype.every 方法来实现这个功能。every 方法会遍历数组中的所有元素,并对每个元素执行一个测试函数。如果该函数对每个元素都返回 true,则 every 方法返回 true。否则,如果有一个元素使得测试函数返回 false,则 every 方法返回 false。
以下是一个示例:
function checkFields(arr) {
return arr.every(item => Object.values(item).every(field => field !== ''));
}
let arrAAA = [{id:1,name:'',sex:''},{id:2,name:'',sex:''},{id:3,name:'',sex:''}];
console.log(checkFields(arrAAA)); // 输出:false
let arrBBB = [{id:1,name:'John',sex:'Male'},{id:2,name:'Jane',sex:'Female'},{id:3,name:'Joe',sex:'Male'}];
console.log(checkFields(arrBBB)); // 输出:true
在这个示例中,checkFields
函数首先通过 Object.values
获取每个对象的所有字段值,然后使用 every
方法检查这些值是否都不为空字符串。如果所有的字段值都不为空字符串,则 every
方法将返回 true,反之则返回 false。
示范代码2
判断 arrAAA中的数据,name和time字段,只要有一个为空 ,返回true,数组中,所有的name和time字段,都不为空,才返回false
function checkEmpty(arr) {
for (const item of arr) {
if (!item.name.trim() || !item.time.trim()) {
return true;
}
}
return false;
}
let arrAAA = [
{id:1,name:'',sex:'',time:''},
{id:2,name:'',sex:'',time:''},
{id:3,name:'',sex:'',time:''}
];
let arrBBB= [
{id:1,name:'1',sex:'1',time:'1212'},
{id:2,name:'212',sex:'',time:'212'},
{id:3,name:'121',sex:'',time:'121'}
];
console.log(checkEmpty(arrAAA)); // 输出:true
console.log(checkEmpty(arrBBB)); // 输出:false
在这个函数中,我遍历了数组中的每一项,并使用||
运算符来检查每一项中的name
和time
字段是否至少有一个为空。如果有任意一项中这两个字段之一为空,则函数立即返回true
,否则在循环结束时,函数返回false
。这样,只要数组中有一项不符合要求,函数就会返回true
。