前言
在前端开发中,判断数组中所有对象的值是否都不为空是一个常见的任务。这个任务可能涉及到多个对象和多个属性,因此需要一种简洁而高效的方法来处理。本文将介绍三种不同的方法,帮助你轻松应对这个问题。
方法一:使用 every() 方法和 Object.values() 方法
every()方法
| 参数 | 描述 |
|---|---|
| currentValue | 必须。当前元素的值 |
| index | 可选。当前元素的索引值 |
| arr | 可选。当前元素属于的数组对象 |
Object.values()方法
| 参数 | 描述 |
|---|---|
| obj | 它是要返回其可枚举自身属性值的对象 |
every() 方法用于检查数组中的每个元素是否满足指定的条件。Object.values() 方法用于获取对象的所有值,并返回一个值的数组。在这个例子中,我们使用 every() 方法来检查每个对象的值是否都不为空。在测试函数中,我们使用 Object.values() 方法获取对象的所有值,并使用 every() 方法来检查每个值是否不为空字符串。如果所有对象的值都不为空,则 allValuesNotEmpty 变量的值为 true,否则为 false。
代码如下:
const arr = [
{ name: "xhong", age: "25" },
{ name: "xlan", age: "30" },
{ name: "xshi", age: "" },
];
const allValuesNotEmpty = arr.every((obj) => {
return Object.values(obj).every((value) => value !== "");
});
console.log(allValuesNotEmpty); // 输出 false
控制台打印

方法二:使用 every() 方法和 Object.keys() 方法
Object.keys()方法
| 参数 | 描述 |
|---|---|
| obj | 要返回其枚举自身属性的对象 |
Object.keys() 方法用于获取对象的所有键,并返回一个键的数组。在这个例子中,我们使用 every() 方法来检查每个对象的值是否都不为空。在测试函数中,我们使用 Object.keys() 方法获取对象的所有键,并使用 every() 方法来检查每个键对应的值是否不为空字符串。如果所有对象的值都不为空,则 allValuesNotEmpty 变量的值为 true,否则为 false。
代码如下:
const arr = [
{ name: "li", age: "25" },
{ name: "zhang", age: "" },
{ name: "shi", age: "35" },
];
const allValuesNotEmpty = arr.every((obj) => {
return Object.keys(obj).every((key) => obj[key] !== "");
});
console.log(allValuesNotEmpty); // 输出 false
控制台打印

方法三:使用 every() 方法和 for…in 循环
for...in 循环用于遍历对象的所有可枚举属性。在这个例子中,我们使用 every() 方法来检查每个对象的值是否都不为空。在测试函数中,我们使用 for...in 循环遍历对象的所有属性,并检查每个属性对应的值是否不为空字符串。如果所有对象的值都不为空,则 allValuesNotEmpty 变量的值为 true,否则为 false。
代码如下:
const arr = [
{ name: "j", age: "" },
{ name: "k", age: "30" },
{ name: "a", age: "35" },
];
const allValuesNotEmpty = arr.every((obj) => {
for (let key in obj) {
if (obj[key] === "") {
return false;
}
}
return true;
});
console.log(allValuesNotEmpty); // 输出 false
控制台打印




















