不 ,没有,但 您可以制造一个 。
Javascript的Python实现 range()
尝试 模拟它在Python中的工作方式 ,我将创建类似于以下的函数:
function range(start, stop, step) { if (typeof stop == 'undefined') { // one param defined stop = start; start = 0; } if (typeof step == 'undefined') { step = 1; } if ((step > 0 && start >= stop) || (step < 0 && start <= stop)) { return []; } var result = []; for (var i = start; step > 0 ? i < stop : i > stop; i += step) { result.push(i); } return result;};请参阅此jsfiddle以获取证明。
range()
Javascript和Python之间的比较
它的工作方式如下:
range(4)
返回[0, 1, 2, 3]
,range(3,6)
返回[3, 4, 5]
,range(0,10,2)
返回[0, 2, 4, 6, 8]
,range(10,0,-1)
返回[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
,range(8,2,-2)
返回[8, 6, 4]
,range(8,2)
返回[]
,range(8,2,2)
返回[]
,range(1,5,-1)
返回[]
,range(1,5,-2)
返回[]
,
及其Python对应物的 工作方式完全相同 (至少在上述情况下):
>>> range(4)[0, 1, 2, 3]>>> range(3,6)[3, 4, 5]>>> range(0,10,2)[0, 2, 4, 6, 8]>>> range(10,0,-1)[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]>>> range(8,2,-2)[8, 6, 4]>>> range(8,2)[]>>> range(8,2,2)[]>>> range(1,5,-1)[]>>> range(1,5,-2)[]
因此,如果您需要一个功能类似于Python的功能
range(),则可以使用上述解决方案。



