@Crushing

Почему не работает код?

range(15, 10);

function range(a, b) {
	if (a > b) {
		var newArray = [];
		for (var i = b; b < a; i++) {
			newArray.unshift(i);
		}
	}
}

document.write(newArray[1]);


По задумке он должен добавлять в массив все числа от числа b до числа a. (Это начало решения задачи, тут не до конца, но уже столкнулся с проблемой), когда запускаю выкидывает из браузера с лагами :)
  • Вопрос задан
  • 130 просмотров
Решения вопроса 3
@RidgeA
Функция ничего не возвращает - ни явно, ни не явно (в глобальную переменную - так делать вообще не стоит).

newArray объявлен внутри функции, там он и остается после ее завершения. Функция должна что-то вернуть.
Ответ написан
Комментировать
Winsik
@Winsik
сис.админ, недопрограммист :)
потому что ваш newArray определён внутри функции, естественно при выходе из неё он автоматически уничтожается за ненадобностью
Ответ написан
Комментировать
JRK_DV
@JRK_DV
Рецепты https://codepen.io/jrkdv/full/LKLXdq
Бесконечный цикл?
В итерации цикла переменные из условия b < a не изменяются
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы