使用对象分配添加属性

Fac*_*res 5 javascript ecmascript-6

我有以下功能:

addHrefs = (list) => {
    const listWithHrefs = list.map((item) => {
        item.href = customFunction(item.name);
        return item;
    });
    return listWithHrefs;
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是我正在改变list对象。我想知道如何(key, value)在不改变的情况下添加特定的对list。有可能吗Object.assign?我该怎么做?

Nin*_*olz 6

这是可能的Object.assign

Object.assign()方法用于将所有可枚举自身属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。

您可以将属性值分配给新对象并返回它。

addHrefs = list =>
    list.map(item => Object.assign({}, item, { href: customFunction(item.name) }));
Run Code Online (Sandbox Code Playgroud)