Дан список городов и их стран, хранящийся в следующей структуре:
let data = [
{
country: 'country1',
city: 'city11',
},
{
country: 'country2',
city: 'city21',
},
{
country: 'country3',
city: 'city31',
},
{
country: 'country1',
city: 'city12',
},
{
country: 'country1',
city: 'city13',
},
{
country: 'country2',
city: 'city22',
},
{
country: 'country3',
city: 'city31',
},
]
Напишите код, которой переделает структуру данных вот в такую:
{
'country1': [
'city11', 'city12', 'city13',
],
'country2': [
'city21', 'city22'
],
'country3': [
'city31', 'city32'
],
}
Я сделал костыль:
let set = new Set;
for (let obj of data) {
set.add(obj.country);
}
let arr = [...set];
let arr1 = [];
let arr2 = [];
let arr3 = [];
for (let obj of data) {
if (obj.country === arr[0]) {
arr1.push(obj.city);
}
if (obj.country === arr[1]) {
arr2.push(obj.city);
}
if (obj.country === arr[2]) {
arr3.push(obj.city);
}
}
let subarr = [];
subarr.push(arr1, arr2, arr3);
let obj = {};
for(let i = 0; i < arr.length; i++) {
obj[arr[i]] = subarr[i];
}
console.log(obj);
нужно сделать универсальное решение!!!
Вопрос задан
23 авг.
113 просмотров