我有一个用户提交的不同问题列表,每当它被更新,我有几个属性,我正在更新。我想知道是否有更好的方法,也许通过破坏或传播,使这个更干净/更短?下面是我现在正在做的事情,我已经减少了示例中属性的数量,但是在实际的项目中,我一个一个地更新了大约5-6个属性,我觉得一个一个地设置它有点重复。
updateSubmission ( id, type, value ) {
const obj = state.submission.filter( el => el.id === id )[ 0 ]
obj.type = type
obj.value = value
}发布于 2021-05-18 06:27:59
使用.find查找单个匹配对象而不是.filter,然后可以用简写方式Object.assign这两个属性:
updateSubmission ( id, type, value ) {
Object.assign(
state.submission.find( el => el.id === id ),
{ type, value }
);
}发布于 2021-05-18 06:59:51
如果您可以更改updateSubmission的签名,那么也可以使代码更通用。
updateSubmission ({ id, ...rest }) {
let obj = state.submission.find( el => el.id === id );
obj = { ...obj, ...rest };
}使用:
updateSubmission({id:'123', type:'abc', value:'xyz'})未来收益:
https://stackoverflow.com/questions/67581004
复制相似问题