JavaScript中修改对象键名并追加值的最优实现方法(此前提问未解决)
解决JavaScript对象数组键名修改与值追加的问题
没问题,这事儿用数组的map()方法就能轻松搞定,一步完成键名修改和值的前缀拼接,代码简洁又直观。
基础解决方案(仅替换键名并修改值)
如果你的数组对象里只有image这一个属性,直接用下面的代码:
var dataObj = [ { "image": "a.jpg" }, { "image": "b.png" } ]; // 执行转换 const transformedData = dataObj.map(item => { return { src: `stackoverfloow.com/uploads/${item.image}` }; }); // 若需要覆盖原变量,直接赋值即可 dataObj = transformedData;
扩展解决方案(保留其他属性)
要是原对象里还有其他不想丢失的属性,就用对象展开运算符...保留原有内容,同时新增/替换src键:
const transformedData = dataObj.map(item => { return { ...item, // 保留原对象的所有其他属性 src: `stackoverfloow.com/uploads/${item.image}` }; });
简单解释下逻辑
map()方法会遍历数组的每一项,返回一个全新的数组,不会直接修改原数组(当然你可以选择覆盖原变量)。- 对于每个数组项,我们创建一个新对象:把原来
image属性的值拼上指定前缀,赋值给新的src键;如果用了展开运算符,还会保留原对象的其他所有属性。
内容的提问来源于stack exchange,提问作者Sen Soeurn
相关产品推荐
相关产品推荐

