第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

使用javascript過濾嵌套的js對象數(shù)組

使用javascript過濾嵌套的js對象數(shù)組

呼喚遠方 2023-04-27 16:19:24
我正在嘗試從嵌套的 js 對象獲取數(shù)據(jù),這是我的輸入。var data =     [ [ { Id: '123', Name: 'Abc', Amount: 110000 }       , { Id: '567', Name: 'DEF', Amount:  98000 }       , { Id: '345', Name: 'XYZ', Amount: 145000 }       ]     , [ { Id: '656', Name: 'Abc', Amount: 110000 }       , { Id: '223', Name: 'DEF', Amount:  98000 }       , { Id: '897', Name: 'XYZ', Amount: 145000 }     ] ] 在這里,當我想獲取223.我不太清楚我們?nèi)绾卧谇短椎?js 對象中做到這一點。在常規(guī)的 js 對象數(shù)組中,我使用如下的 filter 方法。var result= data.filter(element => ((element.Id == "223")).但是如果是嵌套的 js 對象(在 ES6 中),我該怎么做呢?我提到了這里的帖子并在這里做了一個小提琴,它沒有按預期工作。
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻1827條經(jīng)驗 獲得超8個贊

我只是先把它弄平(第一個控制臺日志),除非你想要整個“外部”數(shù)組,在這種情況下只做.find兩次:


var data = [

  [{

      "Id": "123",

      "Name": "Abc",

      "Amount": 110000

    },

    {

      "Id": "567",

      "Name": "DEF",

      "Amount": 98000

    },

    {

      "Id": "345",

      "Name": "XYZ",

      "Amount": 145000

    }

  ],

  [{

      "Id": "656",

      "Name": "Abc",

      "Amount": 110000

    },

    {

      "Id": "223",

      "Name": "DEF",

      "Amount": 98000

    },

    {

      "Id": "897",

      "Name": "XYZ",

      "Amount": 145000

    }

  ]

];



var result = data.flat().filter(element => element.Id == "223");

console.log(result);


console.log(data.find(el => el.find(item => item.Id === "223")))


查看完整回答
反對 回復 2023-04-27
?
慕斯王

TA貢獻1864條經(jīng)驗 獲得超2個贊

您可以先使用.flat()數(shù)組data,然后對其進行簡單的過濾并搜索Id您想要的;或遞歸過濾數(shù)組,然后搜索Id您想要的。下面的片段演示了第二種方式


let result = data.map( array =>  

   array.filter( item => item.Id === "223" )

).flat();

var data = 

    [ [ { Id: '123', Name: 'Abc', Amount: 110000 } 

      , { Id: '567', Name: 'DEF', Amount:  98000 } 

      , { Id: '345', Name: 'XYZ', Amount: 145000 } 

      ] 

    , [ { Id: '656', Name: 'Abc', Amount: 110000 } 

      , { Id: '223', Name: 'DEF', Amount:  98000 } 

      , { Id: '897', Name: 'XYZ', Amount: 145000 } 

    ] ];


let result = data.map( array =>  array.filter( item => item.Id === "223" )).flat();



console.log(result);


查看完整回答
反對 回復 2023-04-27
  • 2 回答
  • 0 關注
  • 248 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號