javascript - 使用 setter 方法更新现有对象值
问题描述
我有一个带有 setter 方法模型的对象:
var obj = {
set model(object) {
//method's logic
}
}
我用以下值更新 obj:
obj = {x:10, y: 20, p: 15};
现在对象看起来像:
obj = {
x:10,
y: 20,
p: 15
set model(object){
//method logic
}
};
请给我一个提示,如何使用 setter 方法更新对象的现有值并处理一些数学运算。例如,我调用 setter 方法并传递值:
obj.model = { x: { value: 33, operation: '*' },
z: { value: 75, operation: '+' },
p: { value: 4, operation: '%' } };
结果,它应该返回:
console.log(obj); // -> {x:330, y: 20, z: 75, p: 3}
解决方案
obj = {x:10, y: 20, p: 15};
不是将参数“传递”给对象 - 这是对obj
自身的赋值(您正在覆盖以前的定义obj
)!
尝试代替(就像你在下面做几行一样):
obj.model = {x:10, y: 20, p: 15};
推荐阅读
- angular - 调度操作 Ngrx 时如何创建产品 ID
- echarts - ECharts - 十进制数据绘制为两个单独的数据点
- python - 如何为列表python上的每个项目分配名称我不想使用字典
- python - BokehUserWarning 和 python 中 pandas_datareader 的问题
- git - Github 显示主分支和 PR 分支之间的差异不正确
- python - 不和谐机器人编辑角色
- django - 从本地主机上的 REST 响应渲染图像
- git - Git / Jira - 无法签出任何新分支
- metrics - Datadog 独特的自定义指标
- electron - 电子托盘:libappindicator-警告:在 SNAP 环境中使用 '/tmp' 路径将导致资源不可读