Есть массив:
["Августеняк Екатерина", "Августовский Борис", "Бжожовский Теодор", "Богатова Августина", "Борисов Илья", "Голосовский Сергей", "Евдокимов Платон", "Исакова Виктория", "Майзингер Владимир", "Мартынова Анастасия", "Пастернак Ангелина", "Фролов Николай"]
Во что требуется превратить:
[
["Августеняк Екатерина", "Августовский Борис"],
["Бжожовский Теодор", "Богатова Августина", "Борисов Илья"],
["Голосовский Сергей"],
["Евдокимов Платон"],
["Исакова Виктория"],
["Майзингер Владимир", "Мартынова Анастасия"],
["Пастернак Ангелина"],
["Фролов Николай"]
]
Пока дошел до такого:
const sorted = authorsData.sort();
console.log(sorted)
const authorsArray = [];
const sortingAuthorsByFirstSymbol = (array) => {
let initialSymbol = array[0][0];
sorted.map(author => {
if (author[0] === initialSymbol) {
let intermediateArray = [];
intermediateArray.push(author);
authorsArray.push(intermediateArray);
} else if (author[0] !== initialSymbol) {
let intermediateArray = [];
initialSymbol = author[0];
intermediateArray.push(author);
authorsArray.push(intermediateArray);
}
return authorsArray;
})
}
sortingAuthorsByFirstSymbol(sorted);
console.log(authorsArray);
const authorsGroupArray = [];
const groupAuthors = (array) => {
let initialSymbol = array[0][0][0];
authorsArray.map(author => {
if (author[0][0] === initialSymbol) {
let intermediateArray = [];
intermediateArray.push(author);
authorsGroupArray.push(intermediateArray);
} else {
initialSymbol = author[0][0];
let intermediateArray = [];
authorsGroupArray.push(intermediateArray);
}
return authorsGroupArray;
})
}
groupAuthors(authorsArray);
console.log(authorsGroupArray);
Где sorted - исходный массив. Никак не получается сгруппировать элементы массивов в подмассив по первой букве. Данные нужны для вывода в интерфейс по алфавиту: Первая буква фамилий - список авторов с фамилией, начинающейся с этой буквы.