Передача параметров в функцию 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);