ECMAScript 6已经逐渐普及,经过二十多年的改进,很多功能也有了更成熟的语句,比如 for 循环 这篇博客将介绍一下从最初的 for 循环,到 ES6 的 for-of 等四种遍历方法 先定义一个数组: const myArray = [1, 5, 9]; myArray.name = 'wise' 在控制台中打印这个数组,会看到这个数组的全貌: 一、 for 相信大部分开发工作者,最初遍历数组的方法都是使用 for 循环: for ( let i = 0; i < myArray.length; i++ ) { console.log(myArray[i]); } 作为初代循环语句,for 语句仅仅解决了遍历这一功能,但冗长的代码还是显得过于笨重 二、 for-in 相比 for 语句,for-in 就轻巧得多,但是 for-in 通常用来遍历对象,如果遍历数组的话... for ( let key in myArray ) { console.log(key); } 直接遍历的话,会打印数组的 index,而 index 是 string 类型 如果编程的时候不注意,很可能在无意中进行了字符串的计算: "1"+"1"="11" 所以使用 for-in 遍历数组的正确姿势应该是: for ( let key in myArray) { console.log(myArray[key]); } 和 for 循环不同,for-in 语句还将自定义属性 "name" 的值 "wise" 打印了出来 所以用 for-in 遍历数组这种事,还是别在开发的时候干了 三、 forEach ES5 发布之后,js 新增了内建方法 forEach,这确实是一个遍历数组的好方法: myArray.forEach(function (value) { console.log(value); }); 但是 forEach 的本质还是一个方法,并不是语句 所以它并不能响应 break、continue 和 return 语句 四、 for-of 仔细分析一下上面三种方法,如果仅限于遍历数组的话,似乎最初的 for 语句反而最合适 直到 ES6 横空出世,新的循环语句 for-of 开始崭露头角 for ( let key of myArray ) { console.log(key); } 没错,for-of 就是最直接最清爽的遍历数组的办法 如果用一句话概括 for-in 与 for-of 的区别的话,那就是: for-in 循环用来遍历对象属性,for-of 循环用来遍历数据 五、 for-of 不仅如此 作为一个 ES6 新增的语句,for-of 和其他 ES6 语法的结合,才是它的强大之处 遍历 Set 类型: const mySet = new Set('wwiissee'); for ( let value of mySet ) { console.log(value); } 遍历 Map 类型: 复制代码 复制代码 const myMap = new Map([ ['name', 'wise'], ['info', 'wrong'], ['home', 'cnblogs'] ]); for ( let [key, value] of myMap ) { console.log(key + ' is ' + value); } 复制代码 复制代码
for 循环进化史
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
Android的进化史
TC Dream,是首款搭载Andr
android G1 Android 6.0 512MB Android 4.0 -
ChatGPT的进化史
在此过程中,Google的Bard,百度的文心一言等类似的AI也迅速崛起,迅速瓜分着人工智能助手的市场份额。因为新核终端几乎人手一个,分析和
chatgpt 聊天机器人 区块链 数据共享 -
屏幕显示技术进化史
顾一下屏幕显示技术发展历程中的重要里程碑。
大屏端 实时音视频 硬件工程 git 液晶显示 -
见微知著 - HTTP的进化史
带你从头了解你不知道的,揭开那层神秘面纱
客户端 数据 服务端