JavaScript 数组遍历

原文链接

《JavaScript 数组遍历》

参考

For-each over an array in JavaScript?
Why is 'for(var item in list)' with arrays considered bad practice in JavaScript?
forEach and runtime cost

开始遍历

多种选择:

  1. for

  2. for-in

  3. forEach 以及相关的(ES5+)

  4. for of(ES6+)

  5. 使用迭代器(ES6+)

先声明并初始化一个数组对象吧:var a = ["a", "b", "c"];

使用 for 循环

for (let i = a.length; i--; ) {    console.log(a[i]);}

使用 for-in (不推荐)

for (let i in a) {    console.log(a[i]);}

forEach 以及相关的

a.forEach((e, i, a) => console.log(`element:${e}, index:${i}, array:${a}`));
a.map(n => console.log(n));

使用 for-of

for (val of a) {    console.log(val);}

使用迭代器

for (let entry, itr = a[Symbol.iterator](); !(entry = itr.next()).done; ) {    console.log(entry.value);}

比较上述遍历方式

  1. for 这是最稳妥的遍历方式,浏览器都支持

  2. for-in 不推荐,两个原因:不能保证遍历的顺序是预期的;遍历可能会带出不是预期的属性的值

  3. forEach() 非常好用的遍历方式,ES5+,如果担心运行时资源消耗的问题,可以看看forEach and runtime cost。缺陷是不能使用 break

  4. map() ES5+,适用于“链式”场景,如 a.map(i => {return i + i;}).sort();,很有b格

  5. for-of ES6+,适用于全部元素的遍历,缺陷是不知道 index

  6. 迭代器,ES6 新特性,大家可以慢慢玩

EOF

关键字:JavaScript

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部