我有以下状态对象。
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/