繁体   English   中英

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

[英]How to check if array of object's properties are empty in javascript

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

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);
});

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

[true, true, true]

如果所有属性都不为空,就像我希望它只给我值 true

谢谢

你可以拿Array#every

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

如果所有值都不是假的,则为true

 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);

如果数组不包含空 object ,请参阅下面的代码验证将给出true ,否则它将给出false

您不应该比较 object 的每个属性,而是每次比较 object 长度

 const items = [ { name: "something", quantity: "25", unit: "d" }, { name: "something", quantity: "25", unit: "d" }, { name: "something", quantity: "25", unit: "d" }, ]; let validation=true; for(let i=0;i<items.lenght;++i){ if(Object.keys(items[i]).length===0) { validation =false; break; } } console.log(validation);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM