@uroot

Как поочерёдно объеденить записи массива?

Есть массив:
const arr = [
"media-center",
"events",
"current-events",
]


Как из такого массива получить следующий?

const arr2 = [
"media-center",
"media-center-events",
"media-center-events-current-events",
}
  • Вопрос задан
  • 65 просмотров
Решения вопроса 3
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
const arr2 = arr.slice(); // копия исходного массива
arr2.reduce((acc, c, i, arr) => arr[i] = acc + '-' + c); // результат reduce() не нужен, важен процесс )

arr2 // [ "media-center", "media-center-events", "media-center-events-current-events" ]
Ответ написан
Для полноты картины — вариант без предварительного копирования исходного массива и последующего изменения элементов в копии, как у Сергей Соколов, а сразу с заполнением пустого массива готовыми значениями:
const arr2 = Object.keys(arr).reduce((result, i) => {
    result.push(result.length ? result[i - 1] + '-' + arr[i] : arr[i]);
    return result;
}, []);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
01 мая 2024, в 10:55
2500 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект
01 мая 2024, в 10:55
3000 руб./за проект