[英]Adding objects to an object property which is an object itself with object assign
[英]Adding property using Object assign
我有以下功能:
addHrefs = (list) => {
const listWithHrefs = list.map((item) => {
item.href = customFunction(item.name);
return item;
});
return listWithHrefs;
}
这里的问题是我正在突变list
对象。 我想知道如何在不更改list
情况下添加特定的(key, value)
对。 Object.assign
是否可能? 我该怎么做?
使用Object.assign
是可能的。
Object.assign()
方法用于将所有可枚举的自身属性的值从一个或多个源对象复制到目标对象。 它将返回目标对象。
您可以将属性值分配给新对象并返回它。
addHrefs = list =>
list.map(item => Objects.assign({}, item, { href: customFunction(item.name) }));
您可以将普通对象作为第一个参数传递给Object.assign()
,在第二个参数处引用该对象。 对分配给Object.assign()
变量执行操作,返回变量
let list = [{ a: 1 }, { a: 2 }, { a: 3 }]; let res = list.map(item => { let o = Object.assign({}, item); // do stuff with `o` oa = oa + 10; // return `o` return o }); console.log(list, res);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.