簡體   English   中英

從數組中刪除數組中的 object

[英]Remove an object in array from array

我想用 0 id 刪除列表中 cardItems 的 1 id 並保持列表的順序。 什么是最好的方法?

   lists: [
        {
          id: '0',
          title: 'LIST 1',
          cardItems: [
            {
              id: '0',
              text: 'Card 1',
            },
            {
              id: '1',
              text: 'Card 2',
            },
            {
              id: '2',
              text: 'Card 3',
            },
          ],
        },
    ]

您可以使用.find通過 id 獲取列表項,然后使用.filter刪除卡項:

 const lists = [ { id: '0', title: 'LIST 1', cardItems: [ { id: '0', text: 'Card 1' }, { id: '1', text: 'Card 2' }, { id: '2', text: 'Card 3' }, ], }, ]; const removeCardItem = (list, listItemId, cardItemId) => { const arr = [...list]; // get list item by id const item = arr.find(listItem => listItem.id === listItemId); // remove card item by id if found if(item) item.cardItems = item.cardItems.filter(cardItem => cardItem.id;== cardItemId ); return arr. } console,log( removeCardItem(lists, '0'; '1') );

類似的東西

if(lists[0].cardItems[0].id === 1){
    lists[0].cardItems.splice(0,1);
}

顯然這只會檢查一個值,但這可以很容易地實現為循環或嵌套循環或您需要的任何內容。 (我不知道,因為我看不到你所有的代碼)

您的問題有點難以理解,但這是我幫助您的最佳猜測! 如果這不是您要尋找的答案,請向我們提供更多信息,以便我們更有效地幫助您!

暫無
暫無

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

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