簡體   English   中英

刪除或過濾嵌套數組中的 object (Javascript)

[英]Delete or filter an object in a nested array (Javascript)

基於這樣的數組:

 var p = [
           {x: [
                 {x1: 1}, 
                 {x1: 2},
               ]
           },
         ];

我怎樣才能得到這樣的東西:

// Result of filtering an object where key is 'x1' and value is greater than 1
p === [
        {x: [
              {x1: 2},
            ]
        },
      ];
p = p.map(v => {
    v.x = v.x.filter(({ x1 }) => x1 > 1)
    return v
})

或(更短的語法)

p = p.map(v => (v.x = v.x.filter(({ x1 }) => x1 > 1), v))

創建一個具有所需屬性的新數組 q

var q = [
    {x: p[0].x.filter( (x) => x.x1 > 1 ) }
]

或者如果你想改變數組 p 就地

p[0].x = p[0].x.filter( (x) => x.x1 > 1 )

此代碼將返回屬性“x1”大於 1 的對象數組。

 var p = [{x: [{x1: 1}, {x1: 2}]}]; let filtered = p.map(obj => obj.x.filter(y => y.x1 > 1)); console.log(filtered);

var 結果 = p[0].x.find(x = x.x1 > 1)

使用 map 和過濾器

 var p = [ {x: [{x1: 1}, {x1: 2}]}, ]; result=p.map((o)=>({...oxfilter(y=>y.x1>1)})) console.log(result)

暫無
暫無

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

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