@dmitriyivvvv

Как сравнить все соседние числа в массиве?

Добрый день. Допустим имеется следующий массив:
var arr = [1, -1, -1, -2, 2, 1, 2]
нам нужно сравнить каждые соседние числа и если (a + b == 0), тогда удалить оба числа из массива и затем вернуть новый
массив без удаленных чисел.
т.е в результате мы получим [-1, 1, 2]
видов значения всего 4 это 1,-1,2,-2
  • Вопрос задан
  • 2465 просмотров
Решения вопроса 2
Stalker_RED
@Stalker_RED
function foo(data) {
	return data.reduce((acc, x) => {
    if (acc[acc.length-1]+x !== 0) acc.push(x)
    else acc.pop()
    return acc
  }, [])
}
jsfiddle.net/ztfu2a9v
Ответ написан
Ni55aN
@Ni55aN
var arr = [1, -1, -1, -2, 2, 1, 2];
var r = [];
for(var i=0;i<arr.length;i++){
   if(i== arr.length-1 || arr[i]+arr[i+1]!==0)
      r.push(arr[i]);
   else
      i++;
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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