В переменную записываются не все цифры после перебора массива

У меня есть пустая переменная test и есть массив testArr со значениями 1,2,3. Я перебираю массив testArr и после перебора перезаписываю пустую переменную test, внутри перебора map console.log выводит все правильно, то есть все значения 1 2 3 но после того как я выхожу за пределы перебора то console.log выводит только 3, что делать?

let test;
   const testArr = [1,2,3];
   testArr.map(item => {
       test = item;
      console.log(test) // 1 2 3
   });
    console.log(test) // 3

Ответы (1 шт):

Автор решения: Алексей Шиманский

let test;
const testArr = [1,2,3];
test = testArr.map(item => {
    console.log(item) // 1 2 3
    // тут должно быть условие для возврата item
    // и если оно true, то возвращать item
    return item;  
});
console.log(test);

см. пример для map: https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/map


как перезаписать переменную, но уже с нужными мне значениями?

Но скорее всего вам нужен не map, а filter https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/filter


как сделать так чтобы выводилось 1 2 3 на примере?

Для этого вообще map не нужен, а нужен join https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/join

let testStr = '';
const testArr = [1,2,3];
testStr = testArr.join(' ');

console.log(testStr);

→ Ссылка