等效于Javascript中的python范围

时间:2019-08-13 14:42:28

标签: javascript python

我想知道python范围(start,stop,step = 1)的等效代码是什么。如果有人知道,我真的很感谢您的帮助。

3 个答案:

答案 0 :(得分:2)

JavaScript没有range方法。 请参考MDN的JavaScript指南中的Looping Code部分 有关更多信息。

此外,在提出此类问题之前,请尝试进行一些研究或给出您想要实现的目标的示例。一个代码是示例,或者简单的描述就足够了。

答案 1 :(得分:1)

您可以改用以下代码,但是您需要先创建一个函数:

var number_array = [];

function range(start,stop) {
    for (i =start; i < (stop+1); i++) {
        number_array.push(i);
    }
    return number_array;
}

答案 2 :(得分:0)

range()的惰性评估版本;以前是xrange()

function* range(start, end, step) {
  const numArgs = arguments.length;
  if (numArgs < 1) start = 0;
  if (numArgs < 2) end = start, start = 0;
  if (numArgs < 3) step = end < start ? -1 : 1;

  // ignore the sign of the step
  //const n = Math.abs((end-start) / step);
  const n = (end - start) / step;

  if (!isFinite(n)) return;

  for (let i = 0; i < n; ++i)
    yield start + i * step;
}

console.log("optional arguments:", ...range(5));
console.log("and the other direction:", ...range(8, -8));
console.log("and with steps:", ...range(8, -8, -3));

for(let nr of range(5, -5, -2)) 
  console.log("works with for..of:", nr);

console.log("and everywhere you can use iterators");
const [one, two, three, four] = range(1,4);
const obj = {one, two, three, four};
console.log(obj)
.as-console-wrapper{top:0;max-height:100%!important}