@leyarthemes

Как объединить повторяющиеся значения в массиве и записать их индексы?

Здравствуйте, есть, например, вот такой массив:
var arr = ["Label1", "Label2", "Label3", "Label4", "Label2"];

Мне нужно на выходе получить что-то вроде вот такого массива:
var arr = ["Label1", {"label": "Label2", "indexes": [1, 4]}, "Label3", "Label4"];
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Object.values(arr.reduce((acc, n, i) => {
  (acc[n] = acc[n] || { label: n, indexes: [] }).indexes.push(i);
  return acc;
}, {})).map(n => n.indexes.length === 1 ? n.label : n)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
от 110 000 до 150 000 руб.
Александрия Москва
от 200 000 до 250 000 руб.
Алгоритмика Москва
от 120 000 до 200 000 руб.
24 авг. 2019, в 11:59
5000 руб./за проект
24 авг. 2019, в 11:31
30000 руб./за проект
24 авг. 2019, в 10:59
750 руб./за проект