如何有条件地更改对象 属性 值比 JS 中的此解决方案更好的方式?
How to conditionally change object property value in the better way then this solution in JS?
根据条件,我正在像这样更改对象值。有没有更好的方法在没有重复部分的情况下进行波纹管检查?
if (this.selected.id === productId) {
this.obj1 = {
...this.product,
tags: this.selected.tags,
imgs: product.imgs,
}
} else {
this.obj1 = {
...this.product,
tags: this.selected.tags,
imgs: [],
}
}
如何才能更优化上述解决方案,例如和 ?具有内联条件的运算符?
或者像这样:
this.selected.id === productId ? imgs: product.imgs
否则不要添加此 属性 和值
是的,如果您使用内联 ternary operator 并且不重复其余代码,看起来会更好:
this.obj1 = {
...this.product,
tags: this.selected.tags,
imgs: this.selected.id === productId ? product.imgs: [],
}
编辑:
如果您不想在不满足条件时执行任何操作:
this.obj1 = {
...this.product,
tags: this.selected.tags
}
if(this.selected.id === productId){
this.obj1.imgs = product.imgs
}
根据条件,我正在像这样更改对象值。有没有更好的方法在没有重复部分的情况下进行波纹管检查?
if (this.selected.id === productId) {
this.obj1 = {
...this.product,
tags: this.selected.tags,
imgs: product.imgs,
}
} else {
this.obj1 = {
...this.product,
tags: this.selected.tags,
imgs: [],
}
}
如何才能更优化上述解决方案,例如和 ?具有内联条件的运算符? 或者像这样:
this.selected.id === productId ? imgs: product.imgs
否则不要添加此 属性 和值
是的,如果您使用内联 ternary operator 并且不重复其余代码,看起来会更好:
this.obj1 = {
...this.product,
tags: this.selected.tags,
imgs: this.selected.id === productId ? product.imgs: [],
}
编辑: 如果您不想在不满足条件时执行任何操作:
this.obj1 = {
...this.product,
tags: this.selected.tags
}
if(this.selected.id === productId){
this.obj1.imgs = product.imgs
}