#javascript #arrays #increment
Вопрос:
Есть одна функция, на которой я застрял, увеличивая все элементы в моем массиве и возвращая массив. Что теперь делать?
function incrementByOne(arr) {
// arr is an array of integers(numbers), Increment all items in the array by
// return the array
for (let i = 0; i < arr.length; i ) {
arr[i] = 1;
return(arr);
}
}
Комментарии:
1. переместите
return
после цикла.2. @VLAZ огромное вам спасибо! Это сработало!
Ответ №1:
Вы можете просто использовать Array.prototype.map с функцией стрелки для этого:
function incrementByOne(arr) {
return arr.map(value => value 1);
}
console.log(incrementByOne([1,5,4,7,3]));
Ваша попытка была великолепна, но вы return arr;
сделали это слишком рано. Имейте в виду, что вы также изменяете массив, вместо того чтобы возвращать копию с обновленными значениями. Вы могли бы сначала скопировать массив с arr = [...arr];
помощью .
Комментарии:
1. Спасибо, что ответили!
Ответ №2:
Все, что мне нужно было сделать, — это выйти за return
пределы петли.
function incrementByOne(arr) {
// arr is an array of integers(numbers), Increment all items in the array by
// return the array
for (let i = 0; i < arr.length; i ) {
arr[i] = 1;
}
return(arr);
}