是否有任何优雅的方法可以从属于数组的数组中删除对象? 我已经使用 React 和 Redux 有一段时间了,但每次我必须在不改变状态的情况下删除或插入数据时都会卡住几个小时。
reducer 是一个数组,其中包含具有 ID 的对象和另一个包含对象的数组,如下所示:
[
{ id:123,
items:[
{ id: abc,
name: albert
},
...
]
},
...
]
我收到了两个 ID,需要删除 ID 为 abc
的项目。
最佳答案
通过 id 从数组中删除一个项目:
return state.filter(item => item.id !== action.id)
通过 id 从对象中删除键:
let copy = Object.assign({}, state) // assuming you use Object.assign() polyfill!
delete copy[action.id] // shallowly mutating a shallow copy is fine
return copy
(奖励)与 object spread operator proposal 相同:
let { [action.id]: deletedItem, ...rest } = state
return rest
关于javascript - 从嵌套对象中删除数据而不改变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342355/