Привет, ребята, я пытаюсь создать функцию в javascript, которая возвращает массив из диапазона (начало, конец), а им предполагается сделать необязательный аргумент, который по умолчанию равен одному, когда он не определен. Я могу заставить эту функцию работать, когда я предоставляю все аргументы, но возвращает пустой массив, когда я передаю только два аргумента. Возникает вопрос:Создание функции диапазона в javascript
Напишите функцию диапазона, которая принимает два аргумента, начало и конец, и возвращает массив, содержащий все числа от начала до конца (и включая).
Затем напишите функцию суммы, которая принимает массив чисел и возвращает сумму этих чисел. Запустите предыдущую программу и посмотрите, действительно ли она возвращается 55.
В качестве назначения бонуса измените функцию диапазона, чтобы принять дополнительный третий аргумент, который указывает значение «шаг», используемое для создания массива. Если ни один шаг не задан, элементы массива увеличиваются с шагом в 1, что соответствует старому поведению. Диапазон вызова функции (1, 10, 2) должен возвращать [1, 3, 5, 7, 9]. Убедитесь, что он также работает с отрицательными значениями шага, так что диапазон (5, 2, -1) создает [5, 4, 3, 2].
и вот мой код
function range(start, end, increment){
var array = [];
var current = start;
var counter;
if (increment == undefined){
counter = 1;
}
else {
counter = increment;
}
if (increment > 0){
while(current <= end){
array.push(current);
current += counter;
}
}
else if (increment < 0){
while(current >= end){
array.push(current);
current += counter;
}
}
return array;
}
может кто-нибудь объяснить, почему его отключающей? я знаю, некоторые C# и им используется, чтобы быть в состоянии перейти в отладчике в визуальной студии, когда что-то идет не так, в отличие от Javascript
У JS есть много отладчика. Один из них в Chrome, вероятно, лучший. Откройте его, вы сможете пройти через код. –
Общий JS-idiom для *, если он не определен, будет вместо этого: * var counter = increment || 1; ' – 4castle
@ 4castle вы могли бы объяснить дальше? не совсем уверен, как это работает. было бы лучше использовать оператор '?'? – Nate