@maratt

Как правильно создать 2 новых объекта из одного существующего?

Есть объект, допустим
const obj = {
  a: 1,
  b: 2,
  c: 3,
  d: 4,
  e: 5,
  f: 6,
}


нужно, чтобы один объект был {a: 1, d: 4, e: 5, f: 6}
а другой с остальными полями. Как правильно сделать?

сделал так
const  {a, d, e, f, ...otherObj} = obj;
const anotherObj = {a, d, e, f};

чую есть более толковое решение.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
const partition = (obj, f) => Object
  .entries(obj)
  .reduce((acc, [ k, v ]) => (
    acc[+!f(k, v)][k] = v,
    acc
  ), [ {}, {} ]);


const [ otherObj, anotherObj ] = partition(obj, k => [ 'a', 'd', 'e', 'f' ].includes(k));
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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