如何检查对象数组';的属性在javascript中为空
我试图在js中进行验证,以检查对象数组的属性是否为空字符串,为了进一步澄清,我有一个包含对象的数组,我想检查每个对象是否有空属性(“”),这是我编写的代码,但我不确定这是正确的方法如何检查对象数组';的属性在javascript中为空,javascript,arrays,object,boolean,Javascript,Arrays,Object,Boolean,我试图在js中进行验证,以检查对象数组的属性是否为空字符串,为了进一步澄清,我有一个包含对象的数组,我想检查每个对象是否有空属性(“”),这是我编写的代码,但我不确定这是正确的方法 const items = [ { name: "something", quantity: "25", unit: "d" }, { name: "something", quantity: "25", unit: "d" }, { name: "something", quantity: "25",
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一样
谢谢您可以
every()
方法测试数组中的所有元素是否通过所提供函数实现的测试。它返回一个布尔值
如果所有值都不为false,则获取true
const项=[
{名称:“某物”,数量:“25”,单位:“d”},
{名称:“某物”,数量:“25”,单位:“d”},
{名称:“某物”,数量:“25”,单位:“d”},
];
常量验证=items.every(item=>item.name&&item.quantity&&item.unit);
console.log(验证)代码>参考下面的代码验证将给出真值如果数组不包含空对象,否则将给出假值
您不应该比较对象的每个属性,而应该每次比较对象长度
const项=[
{名称:“某物”,数量:“25”,单位:“d”},
{名称:“某物”,数量:“25”,单位:“d”},
{名称:“某物”,数量:“25”,单位:“d”},
];
让验证=真;
对于(设i=0;ii如果要验证所有没有硬编码属性名称的条目,则:const validation=items.every(i=>Object.values(i).every(v=>v));
@AmirPopovich有效,谢谢