使用 for 循环用整数序列填充数组,而不会使 Chrome 崩溃



我想用 1 000 000 到 10 000 000 之间的所有可能的整数填充数组。当我运行下面的循环时,它会崩溃 chrome 选项卡。我怎样才能做到这一点?

var arrList = [];
var list;
function gen() {
  for (var i = 1000000; i < 10000000; i++) {
    arrList.push(i);
  }
}
gen();
list = arrList.join(' '); // This line causes the crash
console.log(list);

是导致崩溃的console.log(list)。控制台无法处理尝试显示 72 MB 长的字符串。

当我去掉那行时,脚本会成功运行,尽管需要几秒钟。这会在 2-3 秒后发出71999999警报。

var arrList = [];
var list;
function gen() {
  for (var i = 1000000; i < 10000000; i++) {
    arrList.push(i);
  }
}
gen();
list = arrList.join(' '); 
alert(list.length);

最新更新