2
我試圖實現一個函數,該函數接受三個參數(min,max,step),並使用該步驟生成從最小到最大的整數範圍。第一個整數是最小值,第二個是範圍的最大值,第三個是步長。接合方法不從數組中刪除項目
下面是一個應該看起來像這樣的示例: generateRange(2,10,2)應該返回[2,4,6,8,10]的數組。
我使用拼接方法刪除數組中大於max參數的任何現有元素。
function generateRange(min, max, step) {
var arr = [];
var count = min;
for (var i = 0; i < max/step; i++) {
arr[i] = count;
count = count + step;
arr[i] > max ? arr.splice(i, 1) : arr[i];
}
return arr;
}
console.log(generateRange(2, 10, 2));
每當我console.log
我的結果我得到了一堆逗號的最後一個項目之後...所以它看起來是這樣的:2,4,6,8,10,,, ,]
它似乎沒有刪除項目。我錯過了什麼?謝謝!
當我運行代碼時,一切都正常工作:[2,4,6,8,10] – Marcin
爲什麼不直接增加(max-max%step)/ step而不是拼接廢話 –
[看起來對我來說很好。](https://jsfiddle.net/u3bsax5j/) –