最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何删除嵌套在两个数组中的对象?

网站源码admin19浏览0评论

如何删除嵌套在两个数组中的对象?

如何删除嵌套在两个数组中的对象?

我希望有一个函数来接收类别的名称和该类别之一的名称,并返回没有该项目的整个对象,我该怎么做?

这是到目前为止,我设法通过两个循环找到了要删除的项目,但是我不知道如何删除它。

const removeItem = (categoryName, itemName) => {
    const data = loadAll()
    data.categories.forEach(category => {
        if(category.name === categoryName){
            category.items.forEach(item => {
                if(item.name === itemName){
                    // DELETE
                }
            });
        }
    });
}

对象:

{
   "categories":[
      {
         "name":"Carne",
         "items":[
            {
               "name":"Bitoque",
               "price":10
            },
            {
               "name":"Bife",
               "price":8
            },
            {
               "name":"Frango Grelhado",
               "price":6
            }
         ]
      },
      {
         "name":"Peixe",
         "items":[
            {
               "name":"Dourada",
               "price":12
            },
            {
               "name":"Sardinhas",
               "price":8
            }
         ]
      },
      {
         "name":"Entradas",
         "items":[
            {
               "name":"Couvert",
               "price":2
            }
         ]
      },
      {
         "name":"Sumos",
         "items":[

         ]
      }
   ]
}
回答如下:

一种执行此操作的方法是仅filter items,例如

const removeItem = (categoryName, itemName) => {
     const data = loadAll()
     data.categories.forEach(category => {
          if(category.name === categoryName){
              category.items = category.items.filter(item => item.name !== itemName);
          }
     });
}
发布评论

评论列表(0)

  1. 暂无评论