У меня есть объект, который имеет много ненужных свойств и свойств с глубоким вложением, которые я хочу.
Моя цель - взять этот первый объект и вернуть новый объект только с теми полями, которые мне нужны.
Вот пример большого и большого объекта и пример того, как я пытаюсь изменить его форму:
let bigObject = {
id: 1,
a: 'a',
b: 'b',
c: 'c',
vLines: [
{
vouchId: 1,
vouchLineId: 1,
dontNeedThisProperty: 'blah',
a2: 'a',
rejection: 'vLine rejection reason 1',
dLines: [
{
id: 1,
rejection: 'dline rejection reason 1',
amount: 12345,
vouchLineId: 1
}
]
},
]
}
Я хочу обрезать его так, чтобы он выглядел так:
let newObject = {
id: 1,
vLines: [
{
vouchId: 1,
vouchLineId: 1,
rejection: 'vLine rejection reason 1'
}
],
dLines: [
{
id: 1,
rejection: 'dline rejection reason 1',
vouchLineId: 1
}
]
}
У меня есть селектор-редуктор, который частично помогает мне, но у меня возникают проблемы с доступом к этим глубоко вложенным свойствам для dLine
import { createSelector } from 'reselect';
import { isEqual, pick } from 'lodash';
export const testSelector = createSelector(
nestedSelectedSelector,
vouch => pick(vouch, ['id', 'vLines'])
);