を割り当てる使用してプロパティを追加する私は、次の機能を持っている:は、オブジェクトが
addHrefs = (list) => {
const listWithHrefs = list.map((item) => {
item.href = customFunction(item.name);
return item;
});
return listWithHrefs;
}
ここでの問題は、私はlist
オブジェクトを変異しています。私はlist
を変異させずに特定の(key, value)
ペアを追加する方法を知りたいと思います。 Object.assign
で可能ですか?どうしたらいいですか?
お知らせを返すが、それでも突然変異を使用しています。 – Bergi
@Nina Scholzそれは働いた。しかし、なぜ 'list'が突然変異したのか理解できません(私は' Object.assign'を使って作業しなければならなかったと思います)。私はjavascriptコンソールで 'map'関数を試してみましたが、リストオブジェクト' b = a.map(function(i){return i * 2}) 'と' JSON.stringify(a)=== JSON.stringify(b) 'は間違っていたので、ES6の振る舞いだと思いますが、もしそうなら、なぜリストが突然変異したのか説明できますか? – FacundoGFlores
'item'はオブジェクトへの参照であるため、' item'が変更されているので、 'list'を変更します。あなたの例ではオブジェクトは変更されません。 –