Передача параметров в функцию JavaScript

Друзья, всем привет! Изучаю JS, возник следующий вопрос:

почему в результате выполнения следующего кода, массив arr не заквадратится? вроде ж по ссылке передаются аргументы... Всем спасибо за помощь)

var arr = [1, 2, 3, 4, 5];

function test(arr) {
   arr = arr.map((item) => {
      return item * item;
   });
}

test(arr);


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

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

Нужно из функции что-то вернуть через return

var arr = [1, 2, 3, 4, 5];

function test(arr) {
   return arr.map((item) => {
      return item * item;
   });
}

console.log(test(arr));

Или я не так понял вопрос?)

→ Ссылка
Автор решения: UModeL

Глобальная переменная и параметр функции имеют одинаковые имена, и поэтому функция работает с локальной переменной. Просто дайте аргументу другое имя:

var arr = [1, 2, 3, 4, 5];

function test(bbb) {
  arr = bbb.map((item) => {
    return item * item;
  });
}

test(arr);
console.log(arr);

→ Ссылка