当前位置: 首页 > news >正文

js遍历效率

1w条数据,遍历效率

1、for

15s

    let t=(new Date()).getTime()let a=[]for(var i = 0; i < 100000; i++){a.push({id:i,val:i})}let ts=[]for(var i = 0; i < a.length; i++){if(a[i].val!=2 && a[i].val!=4 && a[i].val!=8){ts.push(a[i])}}let c=(new Date()).getTime()console.log(c-t,t,c,ts)//15
2、map

14s

    let t=(new Date()).getTime()let a=[]for(var i = 0; i < 100000; i++){a.push({id:i,val:i})}let ts=[]a.map(x=>{if(x.val!=2 && x.val!=4 && x.val!=8){ts.push(x)}})let c=(new Date()).getTime()console.log(c-t,t,c,ts)//14
3、forEach

19s

   let t=(new Date()).getTime()let a=[]for(var i = 0; i < 100000; i++){a.push({id:i,val:i})}let ts=[]a.forEach(x=>{if(x.val!=2 && x.val!=4 && x.val!=8){ts.push(x)}})let c=(new Date()).getTime()console.log(c-t,t,c,ts)//19
4、filter+forEach

21s

    let t=(new Date()).getTime()let a=[]for(var i = 0; i < 100000; i++){a.push({id:i,val:i})}let ts=[]a.filter(x=>x.val!=2 && x.val!=4 && x.val!=8).forEach(x=>{ts.push(x)})let c=(new Date()).getTime()console.log(c-t,t,c,ts) //21
5、filter+map

35s

    let t=(new Date()).getTime()let a=[]for(var i = 0; i < 100000; i++){a.push({id:i,val:i})}let ts=[]a.filter(x=>x.val!=2 && x.val!=4 && x.val!=8).map(x=>{ts.push(x)})let c=(new Date()).getTime()console.log(c-t,t,c,ts)  //35```

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • git系统学习
  • 【运维】Redis主从复制 配置
  • 简单的docker学习 第3章 docker镜像
  • stm32 gpio
  • OpenDataLab:人工智能开放数据平台
  • LangChain与CI/CD的无缝对接:自动化部署的新前沿
  • WebRTC 初探
  • 极狐GitLab与无问芯穹达成战略合作,共探AI落地软件智能研发场景新机遇
  • 用Python构建一个简单的神经网络
  • redis面试(六)分布式锁开篇
  • HTML5+CSS3笔记(Xmind格式):第三天
  • 详细分析python下载文件的两种方式(附Demo)
  • SonarQube详细说明: 为Kotlin项目保驾护航
  • 【数值计算方法】23维高斯积分的python实现
  • git revert和git reset工作中使用
  • Centos6.8 使用rpm安装mysql5.7
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript设计模式与开发实践系列之策略模式
  • js
  • Laravel深入学习6 - 应用体系结构:解耦事件处理器
  • React 快速上手 - 06 容器组件、展示组件、操作组件
  • Spring框架之我见(三)——IOC、AOP
  • SQLServer之创建数据库快照
  • 理解在java “”i=i++;”所发生的事情
  • 聊聊directory traversal attack
  • 强力优化Rancher k8s中国区的使用体验
  • 微信开放平台全网发布【失败】的几点排查方法
  • 字符串匹配基础上
  • 自定义函数
  • 翻译 | The Principles of OOD 面向对象设计原则
  • (LNMP) How To Install Linux, nginx, MySQL, PHP
  • (Python) SOAP Web Service (HTTP POST)
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (十三)Maven插件解析运行机制
  • (贪心) LeetCode 45. 跳跃游戏 II
  • (学习日记)2024.01.09
  • (转) SpringBoot:使用spring-boot-devtools进行热部署以及不生效的问题解决
  • (转)创业的注意事项
  • (转)负载均衡,回话保持,cookie
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • .NET国产化改造探索(一)、VMware安装银河麒麟
  • .NET连接MongoDB数据库实例教程
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .net网站发布-允许更新此预编译站点
  • .pyc文件是什么?
  • @Autowired 与@Resource的区别
  • @Transactional事务注解内含乾坤?
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • [20150707]外部表与rowid.txt
  • [3D基础]理解计算机3D图形学中的坐标系变换
  • [AIGC] MySQL存储引擎详解
  • [AIGC] Nacos:一个简单 yet powerful 的配置中心和服务注册中心