У меня есть на входе объект, как вернуть на выходе измененный объект на основе сущствующего?
Я использовал для этого Object.keys() в связке с итератором map()... Но что-то не работает, на выходе получаю unefined
let objjjj = {
a: 2,
b: 3,
c: 4
}
console.log(
Object.keys(objjjj).map((key, i) =>
{
key: objjjj[key] + 1
}
)
)
Object.keys)Итоговый код:
let objjjj = { a: 2, b: 3, c: 4 };
let result = {};
Object.keys(objjjj).forEach(key => { result[key] = objjjj[key] + 1; });
console.log(result);
Что не так с map в исходном коде:
{ key: objjjj[key] + 1 } фигурный скобки воспринимаются не как создание нового объекта, а как границы тела стрелочной функции. Возвращать объект нужно как { return { key: objjjj[key] + 1 }; }key. Поэтому нужно сделать [key]:reduce и Object.assign)Итоговый код:
let objjjj = { a: 2, b: 3, c: 4 };
let result = Object.keys(objjjj).map(key => {
return { [key]: objjjj[key] + 1 };
}).reduce((acc, cur) => Object.assign(acc, cur), {});
console.log(result);
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости