我写了这个范围函数:
function range(m,n) {
var x = m
var xs = [x]
var op = (m <= n)
? function (a,b) { return a+b }
: function (a,b) { return a-b }
while (x !== n) {
var x = op(x)
xs.push(x)
}
return xs
}
...但是在调用它时会崩溃Chrome中的标签(linux 46.0.2490.86(官方版)(64位))
它给出了“aw,snap!”消息,以及“检查目标已断开”,但没有更具体的。
非常感谢。
答案 0 :(得分:1)
您需要不同的计数功能
function range(m, n) {
var x = m,
xs = [x],
op = m <= n ? function (a) { return a + 1; } : function (a) { return a - 1; };
while (x !== n) {
x = op(x);
xs.push(x);
}
return xs;
}
document.write('<pre>' + JSON.stringify(range(3, 11), 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(range(7, 2), 0, 4) + '</pre>');
document.write('<pre>' + JSON.stringify(range(42, 42), 0, 4) + '</pre>');
&#13;