如何编写updateProp函数实现对象属性更新并返回原对象?
如何实现updateProp函数更新对象属性并返回原对象?
需求说明
需要创建一个名为updateProp的函数,满足以下要求:
- 参数:
obj:待更新的对象keyName:对象上待更新的键名val:要分配给该键的新值
- 功能:根据给定的
keyName和val更新传入的对象,并返回传入的原对象
初始代码
function updateProp(obj, keyName, val){ }
期望效果
const wallet = { color: 'Black', hasCash: true } updateProp(wallet, 'color', 'Blue'); // => { color: 'Blue', hasCash: true }
解决方案
直接在函数内修改原对象的目标属性,然后返回原对象即可。JavaScript中对象是引用类型,修改函数参数里的对象会直接作用于原对象本身。
完整实现代码:
function updateProp(obj, keyName, val){ // 给对象的指定键赋值新值 obj[keyName] = val; // 返回原对象 return obj; }
验证测试
运行以下代码即可看到预期效果:
const wallet = { color: 'Black', hasCash: true } console.log(updateProp(wallet, 'color', 'Blue')); // 输出:{ color: 'Blue', hasCash: true } // 同时原wallet对象也被修改了 console.log(wallet); // 输出:{ color: 'Blue', hasCash: true }
补充说明
如果需要避免修改原对象(返回新对象),可以先创建原对象的副本再修改,但根据需求这里不需要,直接操作原对象并返回即可。
内容的提问来源于stack exchange,提问作者Imam
相关产品推荐
相关产品推荐

