问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

JavaScript如何处理大量数据?

发布网友 发布时间:2022-04-20 03:34

我来回答

1个回答

热心网友 时间:2022-04-13 12:37

 将需要大量处理数据的过程分割成很多小段,然后通过JavaScript的计时器来分别执行,就可以防止浏览器假死。先看看怎么开始:
function ProcessArray(data,handler,callback){

  ProcessArray()方法支持三个参数:
data:需要处理的数据
handler:处理每条数据的函数
callback:回调函数
  然后定义一些变量:
var maxtime = 100;
var delay = 20;
var queue = data.concat();
  maxtime表示每个处理进程的最大毫秒数。delay表示每个程序块之间的毫秒数。queue是源数据的复制,虽然不是在所有情景下都必要,但是我们是通过传递引用修改的,所以最好还是备份一下。
  然后就可以使用setTimeout()方法来处理了:
setTimeout(function(){
var endtime = new Date() + maxtime;
do{
hanler(queue.shift());
}while(queue.length>0 && endtime > new Date());
  首先,先计算endtime,这是程序处理的最大时间。do.while 循环用来处理每一个小块的数据,直到循环全部完成或者超时。
  为什么使用do..while循环呢?
  JavaScript支持while和do…while循环。不同之处在于do..while循环回至少执行一次。如果使用while循环,那么当开发者设置一个很小或者很低的endtime值的时候,那么处理就根本不会执行了。
  最后,我们再决定是否需要处理其他的数据,如果需要,那么就再调用一次:
if (queue.length > 0) {
setTimeout(arguments.callee, delay);
}
else {
if (callback) callback();
}
}, delay);
}
  这样回调函数会在每一个数据都处理结束的时候执行。我们可以通过ProcessArray()来测试一小组数据:
// process an indivial data item
function Process(dataitem) {
console.log(dataitem);
}
// processing is complete
function Done() {
console.log("Done");
}
// test data
var data = [];
for (var i = 0; i < 500; i++) data[i] = i;
// process all items
ProcessArray(data, Process, Done);
  这个方法在任何浏览器中都可以执行,不过HTML5提供了更好的办法,Rockux在以后的文章中会提到。
JavaScript当数据过大而无法计算时会显示?

可以尝试用1除以0,这其实在很多语言是不允许的,但是js计算会显示为无穷大。

javascriptjavascript成熟的几个方面

3. 数据处理:JavaScript具有强大的数据处理能力,可以进行各种数据操作和计算。它支持变量、数组、对象等数据类型,提供了丰富的内置方法和函数,方便开发人员对数据进行处理、转换和分析等操作。4. 异步编程:JavaScript天生支持异步编程,通过使用回调函数、Promise、async/await等机制,可以处理网络请求、文件...

几种常见的排序算法及JavaScript实现

1.“待排序数据”的第1个数据和第2个数据相互比较。 2.如果第1个数据&gt;第2个数据,那么交换两个数据的位置。 3.进行比较的数据位置向后移动一位。 4.直到比较到最后2个数据,那么末尾的数据就是最大值。 5.在“待排序数据”里面除去末尾的最大值,在新的“待排序数据”继续上述操作。 下图展示了进行冒泡排序...

JavaScript执行机制三-深入之垃圾回收器

使用增量标记算法,可以把一个完整的垃圾回收任务拆分成若干个小的任务,每个任务耗时很短,将这些任务穿插在JavaScript代码中间执行,这样就避免了全停顿问题。总结 本文开始讲了声明变量在内存中是如何存储的,基础类型存在栈空间中,引用类型存在堆空间中。 栈空间的垃圾回收器,JavaScript会通过向下移动ESP的方式来销毁该函数...

如何用javascript代码删除数据库里的数据?

IE 浏览器可以使用ActiveX adodb function connection(){ var i=2;var dbname=name;var url = "property.xml";var xmldoc = new ActiveXObject("Microsoft.XMLDOM");xmldoc.load(url);var property=xmldoc.getElementsByTagName("provider");var dbpath=property[i].getElementsByTagName("dbpath")...

如何用javascript在网页上实现实时数据更新,就像股市行情那样。我是想...

function setInfo() { setInterval(new function () { ('#dinfo').html("");//清空显示区域 var s="工厂DCS的数据";//这个可以通过异步调用服务器端发过来的数据 ('#dinfo').html(s);//将新数据填充到网页中(具体为 id=dinfo 的div中)}, 10000);//每隔10秒刷新一次,你可以改这...

什么时候你应该在JavaScript中更喜欢Map而不是Object

在大多数情况下,JavaScript社区似乎普遍认为Map比Object.?有些人声称通过切换Object到Map. 我磨练Leetcode的经验似乎证实了这个信念:Leetcode将大量数据作为测试用例提供给您的解决方案,如果您的解决方案耗时过长,它就会超时。像这样的问题只有在你使用时才会超时Object,而不是在Map. 但是,我相信只是说“Map比对象更快...

请问处理数据是多用sql好还是用javascript处理好?

当然是用SQL,javascript只是为了增加用户体验,传入后台的数据都要进行验证之后才能写进数据库 javascript很不安全

JavaScript基础篇(一):数据类型

数据类型结果Undefined"undefined"Boolean"boolean"Number"number"String"string"Symbol"symbol"BigInt"bigint"Null"object'Function"funciton"Object"object"其他引用类型"object" 那么为什么null会被判断为object呢?答:不同的对象在底层都表示为二进制,在JavaScript中二进制前三位都为0的话会被判断为object类型,null的二...

javascript中如何保存多个数据

'_1':[1, 'c:/1.jpg', '...', 'title1'],'_2':[2, 'c:/2.jpg', '...', 'title2']} 这样子有一个好处,你可以这样子判断一个数据是否存在:var id='_'+1; // 假设第一个数据是 id if(data[id]) { // 数据 1 存在 } 要遍历对象的话,就用 for in 即可。如果...

如何处理大量数据 excel处理大量数据很卡 excel处理大量数据 excel处理大量数据 方法 excel大数据处理技巧 大数据处理 大数据处理的基本流程 python处理数据 java大数据
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
男人总有第一次,我和女朋友做这事的时,为何我勃而不硬呢?近而性生活... 脚长22.2cm,脚宽8.5cm,脚比较瘦!该买多大的高跟鞋?平时穿35码的帆布... 我的脚长22厘米宽8厘米,穿多大鞋?33.34.35.都大了 非洲刚果金结婚怎么说 马上要去非洲刚果金 有没有住的宾馆啊? 座机往刚果金打电话也需要开通国际长途业务吗 dnf武器宝珠有哪些 坦洋工夫茶鉴别 坦洋工夫有什么特点?加工工艺有哪些? 福安坦洋工夫有哪些品质特征? 微信小程序最近使用怎么关闭 什么是网络信息 哪一种数字万用表好 美国万用表品牌 美国万用表厂家 美国有哪些万用表品 吉时利万用表怎么样? 什么品牌的数字万用表好 keithley 源表2602a和2400哪个好 万用 表请问用keithley 2000的232口连接电脑用什么... 请问哪里有卖Keithley 2001 万用表的 上海自考流程(求详细) keithley数字万用表怎么测电感 上海自考怎么报名呀?需要报班吗? 请问,有知道KEITHLEY2010万用表的准确度级别的吗... 上海市成人自考本科在哪报名,官网是什么? 性能出众的万用表有哪些? 上海明年四月份的自考本科考试什么时候可以报名考试 Keithley万用表 上海自学考试什么时候报名 质量最好的万用表是哪个品牌?胜利 上海自学考试一年中报名时间 如何在JavaScript中处理大量数据 javascript能用来处理数据吗 javascript如何处理json数据 javascript 数据处理 用javascript处理数据可以么 javascript是什么,有什么特点? javascript 处理表单数据 javascript的处理速度如何?能否依赖javascript进... JavaScript处理用户提交的数据 介绍几个js对数据常用的处理方式 javascript json数据处理问题 &quot;JavaScript中有哪些数值类型?如何处理数字与字符... js怎么处理json数据面 用纯Javascript可以做大数据分析吗 javascript主要用于处理什么 通过javascript获取网页上的实时数据,并更具数据... javascript和sql语句哪个处理数据的效率高? 微信小程序,怎样退出登录呢? 产品发布会的发言人该说什么? 最近企业推出新品牌,需要举办品牌发布会,我想知...