当前位置: 首页 > 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```

相关文章:

js遍历效率

1w条数据&#xff0c;遍历效率 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 D…...

QModbus例程分析

由于有一个Modebus上位机的需要&#xff0c;分析一下QModbus Slave的源代码&#xff0c;方便后面的开发。 什么是Modbus Modbus是一种常用的串行通信协议&#xff0c;被广泛应用于工业自动化领域。它最初由Modicon&#xff08;目前属于施耐德电气公司&#xff09;于1979年开发…...

Vue万字学习笔记(入门1)

目录 简介 Vue是什么 渐进式框架 单文件组件 API 风格​ 选项式 API (Options API)​ 组合式 API (Composition API)​ 创建一个 Vue 应用 挂载应用 DOM 中的根组件模板​ 应用配置 多个应用实例​ 模板语法​ 文本插值​ 原始 HTML​ Attribute 绑定​ 简写​…...

Cesium手动建模模型用Cesiumlab转3D Tiles模型位置不对,调整模型位置至指定经纬度

Cesium加载3Dtiles模型的平移和旋转_3dtiles先旋转再平移示例-CSDN博客 Cesium 平移cesiumlab生产的3Dtiles切片模型到目标经纬度-CSDN博客 【ArcGISCityEngine】自行制作Lod1城市大尺度白膜数据_cityengine 生成指定坐标集指定区域的白模-CSDN博客 以上次ArcGISCityEngine制…...

学习C语言第23天(程序环境和预处理)

1. 程序的翻译环境和执行环境 在ANSIC的任何一种实现中&#xff0c;存在两个不同的环境 第1种是翻译环境&#xff0c;在这个环境中源代码被转换为可执行的机器指令。 第2种是执行环境&#xff0c;它用于实际执行代码。 2. 详解编译链接 2.1 翻译环境 每个源文件单独经过编…...

Ubuntu22.04安装

使用Vmware安装好后 首先执行下面命令&#xff0c;不然每次打开终端会出现To run a command as administrator (user root)… touch ~/.sudo_as_admin_successful换源 参考 sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo gedit /etc/apt/sources.list清空…...

从入门到自动化:一篇文章掌握Python的80%

Python作为一种高级编程语言&#xff0c;以其简洁明了的语法和强大的功能性&#xff0c;在全球编程社区内享有极高的声誉。本文将带领你从Python的基础语法入手&#xff0c;介绍其常用库的应用&#xff0c;以及如何将Python用于数据分析、网络爬虫和简单的自动化任务&#xff0…...

开源的主流机器学习框架

主流的开源机器学习框架包括&#xff1a; 1. TensorFlow&#xff1a;由Google开发和维护的深度学习框架&#xff0c;广泛用于生产环境和研究。支持多种平台&#xff0c;并具有丰富的工具和库支持。 2. PyTorch&#xff1a;由Facebook开发的深度学习框架&#xff0c;以其动态计…...

RabbitMQ:发送者的可靠性之配置发送者重试机制

文章目录 为什么需要重试机制&#xff1f;如何配置重试机制&#xff1f;测试重试机制使用重试机制的注意事项 在使用消息队列&#xff08;MQ&#xff09;系统时&#xff0c;网络故障是不可避免的问题&#xff0c;尤其是在与RabbitMQ等服务交互时。如果生产者在发送消息时遇到网…...

基于深度学习的大规模MIMO信道状态信息反馈

MIMO系统 MIMO系统利用多个天线在发送端和接收端之间建立多条独立的信道&#xff0c;从而使得同一时间可以传输多个数据流&#xff0c;从而使得同一之间可以传输多个数据流&#xff0c;提高数据传输速率。 优势 增加传输速率和容量&#xff0c;提高信号覆盖范围和抗干扰能力…...

在Docker中部署Rasa NLU服务

最近因为项目需要将rasa nlu配置到docker容器中供系统调用&#xff0c;本篇主要整理该服务的docker配置过程。 本篇的重点在于docker的使用&#xff0c;不在Rasa NLU。 系统环境&#xff1a;Ubuntu 18.04.6 1. Rasa介绍 Rasa是一个开源的机器学习框架&#xff0c;专为构建基于文…...

SQL语句创建数据库(增删查改)

SQL语句 一.数据库的基础1.1 什么是数据库1.2 基本使用1.2.1 连接服务器1.2.2 使用案例 1.2 SQL分类 二.库的操作2.1 创建数据库2.2 创建数据库示例2.3 字符集和校验规则2.3.1 查看系统默认字符集以及校验规则2.3.2查看数据库支持的字符集2.3.3查看数据库支持的字符集校验规则2…...

微信小程序-Vant组件库的使用

一. 在app.json里面删除style&#xff1a;v2 为了避免使用Vant组件库和微信小程序组件样式的相互影响 二.在app.json里面usingComponents注册Vant组件库的自定义组件 "usingComponents": {"van-icon": "./miniprogram_npm/vant-weapp/icon/index&qu…...

为什么企业需要进行能源体系认证?

通过能源体系认证&#xff0c;企业可以向公众和利益相关方展示其在节能减排方面的承诺和成就。这不仅提升了企业的社会责任形象&#xff0c;还增强了品牌的信誉度。在当今消费者更加关注环境问题的背景下&#xff0c;绿色企业形象有助于赢得市场和客户的认可与信任。 能源体系认…...

【日常记录-MySQL】EVENT

Author&#xff1a;赵志乾 Date&#xff1a;2024-08-07 Declaration&#xff1a;All Right Reserved&#xff01;&#xff01;&#xff01; 1. 简介 在MySQL中&#xff0c;EVENT是一种数据库对象&#xff0c;其用于设定数据库任务自动执行。这些任务可以是任意有效的SQL语句&a…...

嵌入式学习day12(LinuxC高级)

由于C高级部分比较零碎&#xff0c;各部分之间没有联系&#xff0c;所以学起来比较累&#xff0c;多练习就好了 一丶Linux起源 寻科普|第二期:聊聊Linux的前世今生 UNIX和linux的区别&#xff1a; &#xff08;1&#xff09;linux是开发源代码的自由软件&#xff0e;而unix是…...

pytorch中的hook机制register_forward_hook

上篇文章主要介绍了hook钩子函数的大致使用流程&#xff0c;本篇文章主要介绍pytorch中的hook机制register_forward_hook&#xff0c;手动在forward之前注册hook&#xff0c;hook在forward执行以后被自动执行。 1、hook背景 Hook被成为钩子机制&#xff0c;pytorch中包含forwa…...

使用Gin框架返回JSON、XML和HTML数据

简介 Gin是一个高性能的Go语言Web框架&#xff0c;它不仅提供了简洁的API&#xff0c;还支持快速的路由和中间件处理。在Web开发中&#xff0c;返回JSON、XML和HTML数据是非常常见的需求。本文将介绍如何使用Gin框架来返回这三种类型的数据。 环境准备 在开始之前&#xff0…...

网工内推 | 国企运维工程师,华为认证优先,最高年薪20w

01 上海陆家嘴物业管理有限公司 &#x1f537;招聘岗位&#xff1a;IT运维工程师 &#x1f537;岗位职责&#xff1a; 1、负责对公司软、硬件系统、周边设备、桌面系统、服务器、网络基础环境运行维护、故障排除。 2、负责对各部门软件操作、网络安全进行检查、指导。 3、负责…...

c# 使用异步函数实现线程的功能

c#程序执行时 想要拖动窗口 需要使用线程,但是使用线程 对操作前端窗体很不友好. 所以写了一个异步函数,网上搜了一下,貌似异步函数比线程 更加友好,更加现代 做这个功能的原因是 主要是想等程序执行完 走一个提示.用线程很难做到 using System; using System.Threading; usi…...

NTC热敏电阻温度解算:轻量级Beta模型C++库

1. 项目概述Thermistor 是一个轻量级 C 库&#xff0c;专为嵌入式系统中 NTC&#xff08;负温度系数&#xff09;热敏电阻的温度解算而设计。其核心目标并非提供通用传感器抽象层&#xff0c;而是以最小资源开销、最高计算确定性&#xff0c;完成从原始 ADC 采样值到物理温度值…...

Qt实战:用QCustomPlot打造高性能动态波形图(附GitHub源码)

Qt实战&#xff1a;用QCustomPlot打造高性能动态波形图&#xff08;附GitHub源码&#xff09; 在物联网设备监控、工业自动化测试或生物电信号分析场景中&#xff0c;开发者常面临每秒数千个数据点的实时可视化挑战。传统绘图库在渲染高频动态波形时容易出现卡顿、帧率骤降等问…...

Linux内核中的内存屏障技术详解

Linux内核中的内存屏障技术详解 引言 内存屏障&#xff08;Memory Barrier&#xff09;是Linux内核中用于确保内存操作顺序的重要机制。在多处理器系统中&#xff0c;由于CPU缓存、指令重排序等因素&#xff0c;内存操作的实际执行顺序可能与代码中的顺序不同&#xff0c;这可能…...

新手福音:通过快马平台零代码基础玩转picoclaw机器人板

作为一个刚接触嵌入式开发的新手&#xff0c;拿到picoclaw控制器时既兴奋又忐忑。这块小小的板子能控制电机、读取传感器&#xff0c;但如何让它动起来却让我一头雾水。好在发现了InsCode(快马)平台&#xff0c;不需要从零开始啃文档&#xff0c;就能快速生成可运行的示例代码。…...

在PhpStudy中进行PHP版本切换的详细流程(Linux和Windows)

在使用多样化的 PHP Web 应用程序时&#xff0c;选择合适的 PHP 版本至关重要。例如&#xff0c;一些老旧的应用程序可能是基于早期版本的 PHP 开发的&#xff0c;如果使用最新版本的 PHP 来运行&#xff0c;可能会遇到兼容性问题&#xff0c;导致错误。反之&#xff0c;如果用…...

告别网络延迟!AutoGLM-Phone-9B本地化部署实战,手机也能流畅对话AI

告别网络延迟&#xff01;AutoGLM-Phone-9B本地化部署实战&#xff0c;手机也能流畅对话AI 1. AutoGLM-Phone-9B简介与核心优势 1.1 专为移动端设计的轻量级大模型 AutoGLM-Phone-9B是一款革命性的多模态大语言模型&#xff0c;专为移动设备和边缘计算场景优化。与传统的云端…...

改进蚁群算法结合Dijkstra与MAKLINK图理论实现二维空间最优路径规划

【改进蚁群算法】/蚁群算法/Dijkstra算法/遗传算法/人工势场法实现二维/三维空间路径规划 本程序为改进蚁群算法Dijkstra算法MAKLINK图理论实现的二维空间路径规划 算法实现&#xff1a; 1&#xff09;基于MAKLINK图理论生成地图&#xff0c;并对可行点进行划分&#xff1b; 2…...

避坑指南:RK3588以太网调试那些‘看起来通了但实际没通’的坑(附千兆网线识别与ifconfig -a用法)

RK3588以太网深度排雷手册&#xff1a;从"假连通"到真稳定的实战指南 当你看到eth0接口亮起绿色指示灯&#xff0c;ifconfig显示RX/TX数据包在跳动&#xff0c;甚至ping命令能收到零星回复时&#xff0c;是否觉得RK3588的网络已经调试成功&#xff1f;且慢——这可能…...

你的Selenium爬虫被‘环境调试’弹窗卡住了吗?试试先清理浏览器缓存和Cookie

Selenium爬虫环境指纹污染解决方案&#xff1a;从缓存清理到浏览器隔离 环境指纹污染&#xff1a;爬虫开发者面临的新挑战 上周三凌晨3点&#xff0c;我的自动化数据采集系统突然发出警报——所有Selenium爬虫实例同时失效&#xff0c;目标网站清一色返回"环境异常"提…...

ArcMap协同克里金插值实战:从数据导入到范围裁剪的完整流程

ArcMap协同克里金插值实战&#xff1a;从数据准备到成果优化的全流程指南 在空间分析领域&#xff0c;克里金插值因其能够考虑空间自相关性而广受欢迎。而协同克里金作为其进阶版本&#xff0c;通过引入辅助变量进一步提升预测精度&#xff0c;特别适用于环境监测、地质勘探和…...