Для ввода:
var json =
[
{
"inventory":{
"name":"SF Home",
"items":{
"items":[
{
"id":"d98e55d3-8ada-4937-bded-d6f8d948eb4a",
"name":"SICP (functional programming)"
},
{
"id":"fc490ac2-449e-4aaf-95c5-a993ec220ec9",
"name":"Learn Python the hard way!"
},
]
}
}
},
{
"inventory":{
"name":"SEA Home",
"items":{
"items":[
{
"id":"7126a7c2-3328-4bb4-b425-66adb8ad9b28",
"name":"FP in Scala"
}
]
}
}
}
]
Это ожидаемый результат:
var expected = [
{
id: 'd98e55d3-8ada-4937-bded-d6f8d948eb4a',
name: 'SICP (functional programming)',
inventory_name: "SF Home"
},
{
id: 'fc490ac2-449e-4aaf-95c5-a993ec220ec9',
name: 'Learn Python the hard way!',
inventory_name: "SF Home"
},
{
id: '7126a7c2-3328-4bb4-b425-66adb8ad9b28',
name: 'FP in Scala',
inventory_name: "SEA Home"
}
]
Тем не менее, я могу достичь результата ниже (без inventory_name
) только с помощью lodash (см. Repl.it детская площадка ):
const _ = require('lodash');
const actual = _.chain(json).map("inventory.items.items").flatten().value();
Фактический результат:
[ { id: 'd98e55d3-8ada-4937-bded-d6f8d948eb4a',
name: 'SICP (functional programming)' },
{ id: 'fc490ac2-449e-4aaf-95c5-a993ec220ec9',
name: 'Learn Python the hard way!' },
{ id: '7126a7c2-3328-4bb4-b425-66adb8ad9b28',
name: 'FP in Scala' } ]
inventory_name
отсутствует в результате.Однако я хочу опустить inventory_name
до вложенного JSON.Кто-нибудь может помочь заполнить пробел, используя lodash?Спасибо!