Преобразование массива в объект с уникальными ключами

Подскажите, пожалуйста, есть массив типа:

[
    [ 'Воронеж', 'Белгород', '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' ]
]))

→ Ссылка