Удалить пары повторяющихся соседних элементов массива(js)
Удалить пары повторяющихся соседних элементов массива(js)
исходный массив arr = [10, 10, 10, 10, 10, 32, 22, 22, 41, 50, 50];
ожидаемый массив arr = [10, 32, 41];
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
Алгоритм простой:
пройти по всем индексам массива
сравнивать значение по текущему индексу и по следующему (учесть, что следующего индекса может и не быть, если текущий - последний), т.е. сравнить соседние элементы
если значения не совпадают - добавлять первое значение в новый массив
если значения совпадают перепрыгивать через 1 элемент и делать 2)
Автор решения: UModeL
→ Ссылка
Возможно, что существуют более новые и короткие способы, но этот вариант, на мой взгляд, понятнее:
let arr = [10, 10, 10, 10, 10, 32, 22, 22, 41, 50, 50];
for (let i = arr.length - 1; i > 0; i--) {
if (arr[i] == arr[i - 1]) {
arr.splice(i - 1, 2);
i -= 1;
}
}
console.clear(); console.log('arr: ', arr);