Задачи с книги "Выразительный Js", Написать функцию для создания массива
Всем привет)
решил учить js и тут задача Написать функцию range,чтобы она могла принимать необязательный третий аргумент – шаг для построения массива. Если он не задан, шаг равен единице. Вызов функции range(1, 10, 2) должен будет вернуть [1, 3, 5, 7, 9]. Убедитесь, что она работает с отрицательным шагом так, что вызов range(5, 2, -1) возвращает [5, 4, 3, 2]. С первой частью задания справился с легкостью,а вот во 2м случае вошел в ступор. Помогите пожалуйста :cray: Вот мой код
function range(a,b,c) {
var arr = [];
if (c == undefined)
c = 1;
if (b > a) {
for (var i = a; i <= b; i += c) arr.push(i);
}
else
{
for (var i = b; i <= a; i -= Math.abs(c)) arr.push(i);
}
console.log(arr);
}
|
function range(a,b,c) {
var arr = [];
c = c == undefined?1:c;
for (var i = a; a<b?i<= b:i>= b; i += c) arr.push(i);
console.log(arr);
}
|
спасибо!
|
AlePawka,
строка 10 всё тоже самое самое, что строке 5, кроме знака условия |
AlePawka,
:)
function range(a,b,c=1) {
return Array.from({length : (b - a + c)/c|0 }, (v,k) => a + k * c)
}
console.log(range(1, 10, 2));
|
| Часовой пояс GMT +3, время: 22:54. |