Enable _.range() to accept a 0 for step

Enable `_.range()` to accept a `0` for `step`, for initializing arrays such as `[0, 0, 0, 0, 0]`, `[-1, -1, -1, -1, -1]`, useful in many use cases with inconsistent/morphing object arrays.

Former-commit-id: 5a263ec17e454ba38dfa9b6deb913dddccaddfeb
This commit is contained in:
Stereokai
2013-08-03 11:26:44 +03:00
parent 907ac05c00
commit 7acd3d5297

View File

@@ -4687,7 +4687,7 @@
*/
function range(start, end, step) {
start = +start || 0;
step = +step || 1;
step = isNumber(step) ? step : 1;
if (end == null) {
end = start;
@@ -4696,7 +4696,7 @@
// use `Array(length)` so engines, like Chakra and V8, avoid slower modes
// http://youtu.be/XAqIpGU8ZZk#t=17m25s
var index = -1,
length = nativeMax(0, ceil((end - start) / step)),
length = nativeMax(0, ceil((end - start) / (step || 1))),
result = Array(length);
while (++index < length) {