@ignis21

Как удалить значение если оно повторяет предыдущее?

Есть массив в котором подряд идут разные значения, как удалить следующие значение если оно повторяет предыдущее?
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 3
0xD34F
@0xD34F Куратор тега JavaScript
Удалить из существующего массива:

for (let i = arr.length; --i > 0; ) {
  if (arr[i] === arr[i - 1]) {
    arr.splice(i, 1);
  }
}

Собрать новый массив:

arr.filter((n, i, a) => !i || a[i - 1] !== n)
Ответ написан
Aleksandr-JS-Developer
@Aleksandr-JS-Developer
Бери и делай
const arr = [1, 2, 3, 4, 5, 5, 6, 7, 8, 5, 9, 10, 1, 2, 3];

const cleanArr = a =>
	a.reduce( (a, c) => !a.includes( c ) ? (a.push(c), a) : a, []);

console.log( cleanArr( arr ) );
// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
Ответ написан
Ваш ответ на вопрос

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

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