@Rufix

Почему не работает данная функция?

let sumTo = function (n) {
	let sum = 0;
	for (let i = 0; i < n; i++) {
		sum += +n[i];
	}
	console.log (sum);
}

sumTo (5);

Подскажите, пожалуйста в чем ошибка? В консоли выводит "NaN"
  • Вопрос задан
  • 132 просмотра
Решения вопроса 3
Zoominger
@Zoominger
System Integrator
sum += +n[i];
? Попробуйте:
sum += i;
Ответ написан
Комментировать
xEpozZ
@xEpozZ
Веб-разработчик
а где вы нашли, чтобы можно было у Integer доставать что-то по индексу? n[i]?

Я думаю, правильный вид функции должен быть такой:
let sumTo = function (n) {
  let sum = 0;
  for (let i = 0; i < n; i++) {
    sum += i;
  }
  return sum;
}

const sum = sumTo (5);
console.log (sum);
Ответ написан
Комментировать
Не особо понятно, что вы делаете.
N - массив / число?

Для числа
Ваш код
let sumTo = function (n) {
  let sum = 0;
  for (let i = 0; i < n; i++) {
    sum += i;
  }
  console.log (sum);
}
sumTo(5);
Тоже самое, но в одну строку
const sumTo = n => Array.from({ length: n }, (v, k) => k).reduce((a, i) => (a + i), 0);

Для массива:
Тоже самое, но в одну строку

const sumTo = n => n.reduce((a, i) => (a+i), 0)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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