2017-10-13 45 views
-2

我有兩個數組,數組「A」有一個名爲「deleted」的列和一個名爲「rcCode」的列。陣列「B」只是有在陣列A.「rcCode」Javascript:檢查另一個陣列中的項目狀態

我要檢查,如果數組B中的項目按在數組A中的信息刪除相匹配列「cegCode」

A = [ 
    {"rcCode":"ABC", "deleted":"1"}, 
    {"rcCode":"DEF", "deleted":"0"}, 
    {"rcCode":"GHI", "deleted":"1"}, 
    {"rcCode":"JKL", "deleted":"0"} 
]; 
B = [ 
    {"cegCode":"DEF"}, 
    {"cegCode":"GHI"} 
]; 

總之,需要檢查「B」中的每個項目是否在「A」中具有刪除狀態

+0

爲什麼downvotes?解釋會很好,所以我可以確保將來改進我的問題。 – BlueCaret

回答

0

試試這個解決方案。首先根據數組B使用Array#filter檢查數組A中包含哪些項目。然後,當您獲得適當的數據時,請使用Array#every檢查所有項目是否爲真 - deleted === 1

const A = [ 
 
    {"rcCode":"ABC", "deleted":"1"}, 
 
    {"rcCode":"DEF", "deleted":"0"}, 
 
    {"rcCode":"GHI", "deleted":"1"}, 
 
    {"rcCode":"JKL", "deleted":"0"} 
 
]; 
 
const B = [ 
 
    {"cegCode":"DEF"}, 
 
    {"cegCode":"GHI"} 
 
]; 
 

 
const result = A.filter(item => B.some(i => item.rcCode === i.cegCode)) 
 
       .every(item => item.deleted === 1); 
 

 
console.log(result);

相關問題