Javascript - Массивы - для цикла для forEach - PullRequest
0 голосов
/ 11 июня 2019

Given an array of integers where every value appears twice except one, find the single, non-repeating value.

Follow up: do so with O(1) space.

1) Это неверно, идея состоит в том, чтобы выполнить итерацию дважды и сравнить, если какое-либо значение в первый раз не равно 2-му шагу. Если нет, вставьте неравное значение в новый массив и верните его.

2) Является ли forEach почти таким же, как for-loop?

Как это можно переписать с помощью forEach?

Это не дает мне вывод, который я хотел бы, который для этого примера, должен просто вернуть 4

CODE

 const nonRepeat = arr => {
 
     let newArray = [];

     for (let i = 0; i < arr.length; i++) {
 
       for (let j = 0; j < arr.length; j++) {

         if (arr[i] !== arr[j]) {

           newArray.push(arr[i])

         }
        }
       }
     return newArray
    }

console.log(nonRepeat([2, 5, 3, 2, 1, 3, 4, 5, 1]));

1 Ответ

0 голосов
/ 11 июня 2019

Преобразование из цикла for в цикл forEach

для

for (let i = 0; i < arr.length; i++) { [code] }

forEach устраняет необходимость создания итерационной переменной (например,i) и всегда проверяет каждый элемент в массиве

arr.forEach( [code] )

Дополнительную справку по синтаксису см. здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...