Преобразование массива в объект с уникальными ключами
Подскажите, пожалуйста, есть массив типа:
[
[ 'Воронеж', 'Белгород', '123' ]
[ 'Воронеж', 'Борисоглебск', '456' ]
[ 'Воронеж', 'Курск', '789' ]
]
Его нужно преобразовать в объект типа:
{
"Воронеж": {
"Белгород": "123",
"Борисоглебск": "456",
"Курск": "789"
}
}
То бишь повторяющееся значение из массива должно стать уникальным ключем объекта.
Ответы (1 шт):
Автор решения: Node_pro
→ Ссылка
function array_group(arr, groupBy=0, key=1, value=2){
const buf = {};
for(const item of arr){
if(!buf[item[groupBy]]){
buf[item[groupBy]] = {};
}
buf[item[groupBy]][item[key]] = item[value];
}
return buf;
}
console.log(array_group([
[ 'Воронеж', 'Белгород', '123' ],
[ 'Воронеж', 'Борисоглебск', '456' ],
[ 'Воронеж', 'Курск', '789' ]
]))