У меня наблюдаемый результат, как показано ниже. Я хочу преобразовать эти данные в желаемый формат (как показано ниже). Мне частично удалось сформировать пары ключ-значение, но я не мог понять, как отправить только одно поле (для которого selected имеет значение true ) из массива cars для окончательного вывода.
* ** Наблюдаемый результат ****
[{
"name":"John",
"age":30,
"cars": [
{ "selected":true, "name":"Ford", "models": "Mustang"},
{ "selected":false, "name":"BMW", "models": "320" },
{ "selected":true, "name":"Fiat", "models":"500" }
]
},
{
"name":"alex",
"age":40,
"cars": [
{ "selected":true, "name":"tesla", "models": "x"},
{ "selected":false, "name":"merc", "models": "300" },
{ "selected":true, "name":"honda", "models":"accord" }
]
}
]
**** Требуемый формат *****
{John:[ford, fiat], Alex:[tesla,honda]}
*** Используемый код *****
const results = item.reduce((r,{name,cars}) => (r[name]=cars,r), {})
// Это дает мне полный объект cars, но мне нужно только имя от него (и это тоже для выбранных истинных).
Редактировать 1: Не хочу иметь пустую запись в финале объект. Например, если у Alex нет выбранных автомобилей Cars Selected True, я не хочу, чтобы Alex: [] был в конечном объекте.