Javascript复制对象数组中的嵌套数组

标签 javascript arrays object

我有以下状态对象。

 list: [
      {
        "_id":"1","category":"Cat 1",
        "subcategory":[
          {"_id":"2","subcat":"Subcat 1"},
        ]
      },
      {"_id":"2","category":"Cat 2"},
    ],

我想修改_id:1的值。我使用以下方法复制了所需的对象:

let listCopy = list.filter(el => el._id == 1)

然后:

let subList = listCopy.subcategory.slice();

为什么我的子列表总是未定义?用于制作嵌套对象副本的选项有哪些?

最佳答案

filter方法返回一个数组,而您期望一个对象。如果您只想要一个元素,可以尝试 listCopy[0].subcategory.slice();

关于Javascript复制对象数组中的嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49101485/

相关文章:

javascript - 使用 focus() 显示 block

javascript - jQuery .on() 或 JavaScript :function()?

c# - 调整数组大小以丢失空值

java - 从数组返回值

c++试图初始化我在for循环中编写的类的对象

javascript - 在 JavaScript 数组中存储数据

javascript - Jquery 动画菜单

javascript - 将json转为数组

c++ - 调用不带对象参数的非静态成员函数

delphi - 对象参数为零,无法确定原因