У меня есть структура, подобная приведенной ниже -
var a = {
foo: {
dates: {'2018-11-29': 2020.55},
strategies: [
{
expiryDate: '2018-11-29',
projects: [
{
expiryDate: '2018-11-29',
name: 'foo',
value: 500
}
]
}
]
},
bar: {
dates: {'2018-11-29': 2020.55},
strategies: [
{
expiryDate: '2018-11-29',
projects: [
{
expiryDate: '2018-11-22',
name: 'bar',
value: 650
},
{
expiryDate: '2018-11-22',
name: 'mario',
value: 700
}
]
}
]
}
}
Я пытаюсь найти способ легко обновлять внутреннюю коллекцию projects
с помощью lodash.Но я получаю ошибку
Я пытаюсь сделать что-то вроде этого
const finalTransformedData = _.mapValues(
a,
(value, key) => {
value.strategies.map(strats =>
strats.projects.map(trade =>
Object.assign(
{},
{ trade: 1 },
),
),
);
},
);
, но я получаю вывод ниже - где я ошибаюсь?
{ foo: undefined, bar: undefined }
Приведенный выше пример кода немного упрощен, но мне нужно как-то легко манипулировать объектами в массиве проектов - по сути, получить что-то вроде этого - заменить объект в массиве, просматривая его и назначаяновый объект (полученный из object.assign)
foo: {
dates: {'2018-11-29': 2020.55},
strategies: [
{
expiryDate: '2018-11-29',
projects: [
{
trade: 1
}
]
}
]
},
bar: {
dates: {'2018-11-29': 2020.55},
strategies: [
{
expiryDate: '2018-11-29',
projects: [
{
trade: 1
},
{
trade: 1
}
]
}
]
}