如何通过动态键更新JavaScript数组中所有元素的对应属性值?
实现数组对象指定属性批量更新函数
给定如下JavaScript数组:
var foo = [ { name: 'John', age: '30', car: 'yellow' } , { name: 'shayam', age: '13', car: 'blue' } , { name: 'ram', age: '23', car: 'red' } ];
需要实现函数poo(keyName, value),功能是将数组foo中每个对象的指定keyName对应属性值统一更新为传入的value。
函数实现
通过遍历数组中的每个对象,直接修改目标属性即可(JavaScript对象为引用类型,修改操作会同步作用于原数组):
function poo(keyName, value) { foo.forEach(obj => { obj[keyName] = value; }); }
调用示例及预期输出
- 执行
poo("car", "orange")后,数组foo的内容变为:
[ { name: "John", age: 30, car: "orange" } , { name: "shayam", age: 13, car: "orange" } , { name: "ram", age: "23", car: "orange" } ]
- 接着执行
poo("age","20")后,数组foo的内容变为:
[ { name: "John", age: "20", car: "orange" } , { name: "shayam", age: "20", car: "orange" } , { name: "ram", age: "20", car: "orange" } ]
内容的提问来源于stack exchange,提问作者Rajat Gupta
相关产品推荐
相关产品推荐

