Задачи с книги "Выразительный 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, время: 07:18. |