簡體   English   中英

JS循環遍歷對象數組的對象數組刪除entry

[英]JS Loop through an array of objects of an array of objects to delete entry

我有一個像這樣的數組:

 const array = [ { '12345': [ { name: 'item one', numbers: ['12345', '77484'], }, { name: 'item two', numbers: ['12345', '65456'], }, { name: 'item three', numbers: ['12345', '33920'], }, { name: 'item four', numbers: ['12345', '99393'], }, ], }, { '67890': [ { name: 'item one b', numbers: ['67890', '33232'], }, { name: 'item two b', numbers: ['67890', '33456'], }, { name: 'item three b', numbers: ['67890', '77665'], }, { name: 'item four b', numbers: ['67890', '11234'], }, ], }, ] console.log(array);

如果給我一個名稱作為動態變量,例如'item 3 b',如何在對象數組的對象數組里面找到那個名稱來刪除它呢?

嘗試進入嵌套數組時我很困惑。

謝謝!

您可以使用 forEach 循環來實現這一點,然后使用 findIndex 並最后拼接數組中的數據。

 const array = [ { '12345': [ { name: 'item one', numbers: ['12345', '77484'], }, { name: 'item two', numbers: ['12345', '65456'], }, { name: 'item three', numbers: ['12345', '33920'], }, { name: 'item four', numbers: ['12345', '99393'], }, ], }, { '67890': [ { name: 'item one b', numbers: ['67890', '33232'], }, { name: 'item two b', numbers: ['67890', '33456'], }, { name: 'item three b', numbers: ['67890', '77665'], }, { name: 'item four b', numbers: ['67890', '11234'], }, ], }, ] array.forEach(obj => { Object.values(obj).forEach(ob => { var index = ob.findIndex(o => o.name==='item three b'); if(index>-1){ ob.splice(index,1); } }) }) console.log(array);

暫無
暫無

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

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