Buryak20
@Buryak20
Изучаю js

Как преобразовать объект со вложенными объектами в простой объект?

У меня есть объект obj = { a: 100, b: 152, c: { y: 133, x: { m: 20} } } мне нужно его преобразовать в объект без вложенности, то есть obj = { a: 100, b: 152, y: 133, m: 20} подскажите как можно это сделать?
  • Вопрос задан
  • 258 просмотров
Решения вопроса 2
0xD34F
@0xD34F Куратор тега JavaScript
const flatObj = obj =>
  Object.entries(obj).reduce((acc, [ k, v ]) => (
    v instanceof Object && !Array.isArray(v)
      ? Object.assign(acc, flatObj(v))
      : acc[k] = v,
    acc
  ), {});
Ответ написан
@dGololobov
начинающий
const obj = { a: 100, b: 152, c: { y: 133, x: { m: 20} } }
const flatObject = (current) => {
    return Object.keys(current).reduce((acc, cur) => {
      if (typeof(current[cur]) !== 'object') {
         	acc[cur] = current[cur]
      } else {
      	      acc = {...acc, ...flatObject(current[cur]) }
      }
     	return acc
}, {})
}

console.log(flatObject(obj))
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sinneren
@sinneren
[].concat.apply([], obj);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы