假设我有一个如下对象:
const myObject = {
name: '...',
label: '...',
menuSettings: {
rightAlignment: true,
colours: [...],
},
};
我想修改 rightAlignment
的值为 false
,而不必重写对象的其他部分。我尝试使用 myObject.find(...)
但发现并不适用,之后尝试了
Object.assign(this.myObject, {menuSettings: {rightAlignment: false}});
这没有达到预期效果,我猜可能是因为我没有正确访问该属性。有没有更干净利落的方法来实现这一目的呢?
编辑: 我意识到我实际需要修改的是一个包含多个这种对象的数组。因此,对我而言有效的解决方案是遍历数组中的每个 myObject
,并对每个对象检查 menuSettings
属性是否存在(因为它是一个有时可能不包括的可选属性)。
如果存在,我将直接进行修改:
this.myObject.menuSettings.rightAlignment = false;
翻译后的内容:
假设我拥有如下所示的对象:
const myObject = {
name: '...',
label: '...',
menuSettings: {
rightAlignment: true,
colours: [...],
},
};
我想要改变 rightAlignment
的值为 false
,而不必重写对象中其余的部分。我尝试使用 myObject.find(...)
但发现并不适用,之后尝试了
Object.assign(this.myObject, {menuSettings: {rightAlignment: false}});
这没有奏效,我认为原因可能是我没有正确访问该属性。是否有更简洁的方法来完成这个操作呢?
编辑: 我意识到实际上我需要修改的是一个包含多个此类对象的数组。因此,对我而言可行的解决方案是遍历数组中的每个 myObject
,并针对每个对象检查 menuSettings
是否存在(因为它是一个可选属性,有时可能未包含)。
如果确实存在,我将执行以下操作进行修改:
this.myObject.menuSettings.rightAlignment = true;