Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带数字的数组(500万)_Javascript_Arrays_Numbers - Fatal编程技术网

Javascript 带数字的数组(500万)

Javascript 带数字的数组(500万),javascript,arrays,numbers,Javascript,Arrays,Numbers,我需要一个数字范围从0开始到500万左右的“列表”。我还必须在webbrowser中显示它,所以我尝试了javascript和php。当然,当“加载”所有数字时,浏览器会崩溃。有没有办法防止这种情况发生?让它在浏览器中真正工作?我想Javascript不是正确的语言,但是我如何解决这个问题呢?如蒙帮助,将不胜感激:) 这是到目前为止的代码 function range() { var array = []; var start = (arguments[0] ? argument

我需要一个数字范围从0开始到500万左右的“列表”。我还必须在webbrowser中显示它,所以我尝试了javascript和php。当然,当“加载”所有数字时,浏览器会崩溃。有没有办法防止这种情况发生?让它在浏览器中真正工作?我想Javascript不是正确的语言,但是我如何解决这个问题呢?如蒙帮助,将不胜感激:)

这是到目前为止的代码

function range()
{
    var array = [];
    var start = (arguments[0] ? arguments[0] : 0);
    var end   = (arguments[1] ? arguments[1] : 9);
    if (start == end) { array.push(start); return array; }
    var inc   = (arguments[2] ? Math.abs(arguments[2]) : 1);
    inc *= (start > end ? -1 : 1);
    for (var i = start; (start < end ? i <= end : i >= end) ; i += inc)
        array.push(i);
    return array;
}

var foo = range(1, 5607249)

for(var i=0;i<foo.length;i++){
  document.write(foo[i]); 
}
函数范围()
{
var数组=[];
var start=(参数[0]?参数[0]:0);
var end=(参数[1]?参数[1]:9);
if(start==end){array.push(start);return array;}
var inc=(参数[2]?Math.abs(参数[2]):1;
inc*=(开始>结束?-1:1);
对于(变量i=开始;(开始<结束?i=结束);i+=inc)
阵列推送(i);
返回数组;
}
变量foo=范围(15607249)

对于(var i=0;i来说,在不破坏浏览器的情况下显示这么多数据的唯一方法是实现某种分页系统。也就是说,一次只显示一大块结果。您可以通过设置一次显示的最大结果数并跟踪页码来实现这一点

函数范围()
{
var数组=[];
var start=(参数[0]?参数[0]:0);
var end=(参数[1]?参数[1]:9);
if(start==end){array.push(start);return array;}
var inc=(参数[2]?Math.abs(参数[2]):1;
inc*=(开始>结束?-1:1);
对于(变量i=开始;(开始<结束?i=结束);i+=inc)
阵列推送(i);
返回数组;
}
var foo=范围(15607249);
var results=document.querySelector('.results');
var-page=0;
变量页长度=100;
函数showResults(){
var start=页面*页面长度;
var end=开始+页长;
//一次把它们全部写下来,并在它们之间划行
results.innerHTML=foo.slice(开始,结束).join('
'); } document.querySelector('.prev').addEventListener('click',function()){ //确保我们不超过第一页 page=Math.max(0,第1页); showResults(); }); document.querySelector('.next').addEventListener('click',function(){ //不要超过结果的末尾 page=Math.min(page+1,foo.length/page_length-1); showResults(); }); showResults();

下一步
在不使浏览器崩溃的情况下显示这么多数据的唯一方法是实现某种分页系统。这意味着,一次只显示一大块结果。您可以通过设置一次显示的最大结果数并跟踪页码来实现

函数范围()
{
var数组=[];
var start=(参数[0]?参数[0]:0);
var end=(参数[1]?参数[1]:9);
if(start==end){array.push(start);return array;}
var inc=(参数[2]?Math.abs(参数[2]):1;
inc*=(开始>结束?-1:1);
对于(变量i=开始;(开始<结束?i=结束);i+=inc)
阵列推送(i);
返回数组;
}
var foo=范围(15607249);
var results=document.querySelector('.results');
var-page=0;
变量页长度=100;
函数showResults(){
var start=页面*页面长度;
var end=开始+页长;
//一次把它们全部写下来,并在它们之间划行
results.innerHTML=foo.slice(开始,结束).join('
'); } document.querySelector('.prev').addEventListener('click',function()){ //确保我们不超过第一页 page=Math.max(0,第1页); showResults(); }); document.querySelector('.next').addEventListener('click',function(){ //不要超过结果的末尾 page=Math.min(page+1,foo.length/page_length-1); showResults(); }); showResults();

下一步
为什么要同时显示500万个数字?这里没有语言问题。存储42MB的双精度数据也没有问题。浏览器如何崩溃?有什么错误(如果有)你看到了吗?哪个浏览器?哪个版本?你尝试过其他浏览器吗?500万不是那么多,你应该能够处理它。这听起来像是一个XY问题。用例是什么?还有,
document.write
在这里可能也是一个非常糟糕的选择。500万个文档。写入,糟糕的选择。一次写入屏幕,更好的选择。为什么d您想同时显示500万个数字吗?语言不是问题。存储42MB的双精度数据也不是问题。浏览器如何崩溃?有什么错误(如果有)你看到了吗?哪个浏览器?哪个版本?你尝试过其他浏览器吗?500万不是那么多,你应该能够处理它。这听起来像是一个XY问题。用例是什么?还有,
document.write
在这里可能也是一个非常糟糕的选择。500万个文档。写入,糟糕的选择。一次写入屏幕,更好的选择。是的,那是太棒了!非常感谢你的努力!是的,太棒了!非常感谢你的努力!