@goju

Почему не меняется значение массива внутри forEach?

Задача. Используя метод forEach() нужно добавить 100 тем значениям массива, которые делятся на 3. Делаю так:
var test = [12, 929, 11, 3, 199, 1000, 7, 1, 24, 37, 4, 
            19, 300, 3775, 299, 36, 209, 148, 169, 299, 
            6, 109, 20, 58, 139, 59, 3, 1, 139];

// Write your code here

test.forEach(function(number){
    if (number % 3 === 0) {
        number += 100
    } 
})

console.log(test)


Массив возвращается без изменений. Почему, где ошибка?
  • Вопрос задан
  • 328 просмотров
Решения вопроса 1
evgeniy8705
@evgeniy8705
Повелитель вселенной
test = test.map(item => item % 3 === 0 ? item += 100 : item);

// test.forEach((item, i) => item % 3 === 0 ? test[i] = item += 100 : test[i] = item);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы