Функция places создает новый массив, сортирует объекты внутри по алфавиту и разбивает их на подмассивы по первой букве в параметре свойства name.
Пример результата:
[
[
{name: Архангельск},
{name: Астрахань}
],
[
{name: Барнаул},
],
[
{name: Вологда},
{name: Владимир},
]
]
PlaceList - одномерный массив объектов, который не должен быть изменен
places() {
let places = PlacesList.slice()
places.sort(function (a, b) {
return a.name.localeCompare(b.name)
})
let arrays = []
while (places.length > 0) {
arrays.push(places.splice(0, places.filter(el => el.name[0] === places[0].name[0]).length))
}
return arrays
},