簡體   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