2016-12-31 96 views
-1

我有地圖的形式的,過濾項對象

var map1 = {123 : true, 345: false, 456:true} ; where 123, 345, 456 are ids with status 'true' or 'false'. 

現在,基於上述ID的布爾狀態,我需要從下方移除這些ID的記錄陣列,

   [ { 
        id:123, 
        name:'foo' 

       }, 
       { 
        id:345, 
        name:'baar' 

       },{ 
        id:456, 
        name:'foobar' 

       }] 

因此,在該示例中,具有ID的「121」和「456」中的對象應當它們與布爾狀態地圖中的「真正的」刪除。

+0

你嘗試過什麼?我不確定問題是什麼。 – 4castle

+0

ID爲121的對象不會從表格中刪除,因爲您已將地圖中的123設置爲true,121未設置爲任何值 – Maciej

+0

謝謝@Septuagint,它工作正常。 – VishnuNair

回答

1

鑑於你的地圖被稱爲map1和數組您需要過濾被稱爲arr這應該做的伎倆: arr.filter((elem) => { return !map1[elem.id] }

+0

甚至不需要代碼塊:'arr.filter(e =>!map1 [e.id])' – 4castle