簡體   English   中英

檢查數組是否不包含空對象並匹配數組長度

[英]Check if array does not contain empty objects and matches array length

我正在嘗試檢查array 1的長度是否與array 2的長度匹配,並且該array 1不包含空對象

我的嘗試

const matrixValues = _.size(array1,Object.keys(array1.map(item => item)).length !== 0) === array2.length

array2: [{'somevalue': '1'}, {'somethingelse: '2'}, {'somethingmore': '3'}]

array1: [ {'somevalue': '1'}, {'somethingelse': '2'}, {} ] array1這里的長度為 3,但它包含一個空對象,所以我們應該返回 false,即空對象檢查也不應該依賴於元素的索引

比較兩個數組的長度,第一個使用Array#every來查看每個對象是否至少有一個屬性(因此它不為空)。

擴展:如果我在第一個數組(示例中為 array3)中刪除所有空對象,則相同的測試可以使用Array#filter 完成

 let array2 = [{'somevalue': '1'}, {'somethingelse': '2'}, {'somethingmore': '3'}]; let array1 = [ {'somevalue': '1'}, {'somethingelse': '2'}, {} ]; let array3 = [{'somevalue': '1'}, {}, {'somethingelse': '2'}, {}, {'somethingmore': '3'}]; let result = (array1.length===array2.length) && array1.every(obj => Object.keys(obj).length); console.log('Same length without delete empty objects:', result); let result2 = (array3.filter(obj => Object.keys(obj).length).length === array2.length); console.log('Same length with delete empty objects:',result2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM