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

Sal*_*our 3 javascript arrays boolean object

我正在尝试在 js 中进行验证以检查对象的属性数组是否为空字符串,为了澄清更多,我有一个包含对象的数组,我想检查每个对象是否有空字符串属性(“”),这是我写的代码,但我不确定这是正确的方法

const items = [
  { name: "something", quantity: "25", unit: "d" },
  { name: "something", quantity: "25", unit: "d" },
  { name: "something", quantity: "25", unit: "d" },
];

const validation = items.map((item) => {
  return Boolean(item.name && item.quantity && item.unit);
});
Run Code Online (Sandbox Code Playgroud)

但它只是给了我一个这样的数组:

[true, true, true]
Run Code Online (Sandbox Code Playgroud)

就像我希望它只在所有属性都不为空时才给我值 true

谢谢

Nin*_*olz 5

你可以带 Array#every

every()方法测试数组中的所有元素是否通过提供的函数实现的测试。它返回一个布尔值。

并获得true如果所有值都没有falsy。

const items = [
  { name: "something", quantity: "25", unit: "d" },
  { name: "something", quantity: "25", unit: "d" },
  { name: "something", quantity: "25", unit: "d" },
];

const validation = items.every(item => item.name && item.quantity && item.unit);

console.log(validation);
Run Code Online (Sandbox Code Playgroud)