У меня есть следующие функции:Добавление недвижимости с использованием объекта назначения
addHrefs = (list) => {
const listWithHrefs = list.map((item) => {
item.href = customFunction(item.name);
return item;
});
return listWithHrefs;
}
Проблема здесь я мутирует в list
объект. Я хочу знать, как добавить определенную пару (key, value)
без мутации list
. Возможно ли это с Object.assign
? Как мне это сделать?
Обратите внимание, что это не может мутировать 'list', но до сих пор использует мутацию. – Bergi
@Nina Scholz Это сработало. Но я не могу понять, почему «list» был мутирован (поэтому я предположил, что мне нужно работать с «Object.assign»). Я попробовал в javascript-консоли функцию «map», и она не мутировала мой объект списка «b = a.map (function (i) {return i * 2})», а затем 'JSON.stringify (a) === JSON.stringify (b) 'был ложным, поэтому, я думаю, это поведение ES6, если это так, вы можете объяснить мне, почему« list »был мутирован? – FacundoGFlores
он мутирует 'list', потому что' item' получает мутацию, потому что 'item' является ссылкой на объект. ваш пример не изменяет никакого объекта. –