@Evtera

Как удалить дубли в массиве и зафиксировать с какого индекса начинается новое значение?

Есть данные, представленные в следующем виде:
[
  [["A"], ["hello"]],
  [["B"], ["hello"]],
  [["V"], ["hello"]],
  [["C"], ["bye"]],
  [["G"], ["hello"]],
];

На выходе нужно получить массив со строками следующего вида: если одинаковые данные идут друг за другом, то они преобразовывались в "от - до : данные".
let strings = ["A-V : hello", "C : bye", "G : hello"];
  • Вопрос задан
  • 99 просмотров
Решения вопроса 1
WblCHA
@WblCHA
arr.reduce((acc, [[key], [value]]) => {

    if(acc[acc.length - 1]?.[1] === value) {
      acc[acc.length - 1][0][1] = key;
    }
    else {
      acc.push([[key], value]);
    }

    return acc;
  }, []).map(([keys, value]) => `${keys.join('-')} : ${value}`)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы