JS的数组遍历是项目中必须用到的,为了写出优雅的代码,将方法用在对的地方,在这里将几种方法做个对比,这里用es6的方式展示出来,需要搭建转换es5环境,这不是这篇的重点,下一篇可以写这个。
一、for循环
使用频率最高,前端都会用,表示自己一开始只会用for循环。。。
let arr = ['123', '456', '789'];for (let i = 0; i < arr.length; i ++) { console.log(arr[i]); }
最常用,但是有优化空间:
for (let i = 0, len = arr.length; i < len; i ++) { console.log(arr[i]); }
使用临时变量,将length值存起来,避免重复获取数组长度。
二、for…of循环
es6新增的循环方式,比es5的for循环更简单且高效,它还提供三个新方法:
key()是对键名的遍历;
value()是对键值的遍历;
entries()是对键值对的遍历;
let arr = ['科大讯飞', '政法BG', '前端开发']; for (let item of arr) { console.log(item); } // 输出数组索引 for (let item of arr.keys()) { console.log(item); } // 输出内容和索引 for (let [item, val] of arr.entries()) { console.log(item + ':' + val); }
三、foreach循环
数组的foreach方法使用频率较高,但性能比for循环还弱。它有个优点,可以自动省略为空的数组元素,相当于自动筛空。
let arr = ['科大讯飞', , '政法BG', , '前端开发']; arr.forEach((val,index)=>console.log(index,val));
四、filter循环
有循环的功能,主要用于过滤数组,接收一个方法,它会返回符合函数的元素集合。
let arr = [{ label: '科大讯飞', value: 1 }, { label: '政法BG', value: 2 }, { label: '前端开发', value: 3 }]; const arr1 = arr.filter(list => list.value === 1); console.log(arr1);
五、some循环
和filter功能相同,不同的是,它返回boolean值,用于检查数组中是否存在某对象。
if (arr.some(list => list.value === 1)) { console.log('执行了!') }
所以它常用在if里。
六、map循环
替换的作用,它会返回一个由原数组中每个元素调用回调函数后返回值的集合。
let arr = [1, 2, 3, 4]; onst arr1 = arr.map(list => list * 2); console.log(arr1);
以上就是常用的数组遍历的方法,以后可以按照实际情况使用一种方法,不要所有地方用的都是for循环。
相关推荐:
Java8的HashMap详解(存储结构,功能实现,扩容优化,线程安全,遍历方法)
重温数据结构:二叉树的常见方法及三种遍历方式 Java 实现
以上是关于JS数组遍历方法的总结的详细内容。更多信息请关注PHP中文网其他相关文章!

不同JavaScript引擎在解析和执行JavaScript代码时,效果会有所不同,因为每个引擎的实现原理和优化策略各有差异。1.词法分析:将源码转换为词法单元。2.语法分析:生成抽象语法树。3.优化和编译:通过JIT编译器生成机器码。4.执行:运行机器码。V8引擎通过即时编译和隐藏类优化,SpiderMonkey使用类型推断系统,导致在相同代码上的性能表现不同。

JavaScript在现实世界中的应用包括服务器端编程、移动应用开发和物联网控制:1.通过Node.js实现服务器端编程,适用于高并发请求处理。2.通过ReactNative进行移动应用开发,支持跨平台部署。3.通过Johnny-Five库用于物联网设备控制,适用于硬件交互。

我使用您的日常技术工具构建了功能性的多租户SaaS应用程序(一个Edtech应用程序),您可以做同样的事情。 首先,什么是多租户SaaS应用程序? 多租户SaaS应用程序可让您从唱歌中为多个客户提供服务

本文展示了与许可证确保的后端的前端集成,并使用Next.js构建功能性Edtech SaaS应用程序。 前端获取用户权限以控制UI的可见性并确保API要求遵守角色库

JavaScript是现代Web开发的核心语言,因其多样性和灵活性而广泛应用。1)前端开发:通过DOM操作和现代框架(如React、Vue.js、Angular)构建动态网页和单页面应用。2)服务器端开发:Node.js利用非阻塞I/O模型处理高并发和实时应用。3)移动和桌面应用开发:通过ReactNative和Electron实现跨平台开发,提高开发效率。

JavaScript的最新趋势包括TypeScript的崛起、现代框架和库的流行以及WebAssembly的应用。未来前景涵盖更强大的类型系统、服务器端JavaScript的发展、人工智能和机器学习的扩展以及物联网和边缘计算的潜力。

JavaScript是现代Web开发的基石,它的主要功能包括事件驱动编程、动态内容生成和异步编程。1)事件驱动编程允许网页根据用户操作动态变化。2)动态内容生成使得页面内容可以根据条件调整。3)异步编程确保用户界面不被阻塞。JavaScript广泛应用于网页交互、单页面应用和服务器端开发,极大地提升了用户体验和跨平台开发的灵活性。

Python更适合数据科学和机器学习,JavaScript更适合前端和全栈开发。 1.Python以简洁语法和丰富库生态着称,适用于数据分析和Web开发。 2.JavaScript是前端开发核心,Node.js支持服务器端编程,适用于全栈开发。


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

记事本++7.3.1
好用且免费的代码编辑器

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

SublimeText3汉化版
中文版,非常好用