资讯专栏INFORMATION COLUMN

JavaScript 数组遍历

zhangke3016 / 1678人阅读

摘要:缺陷是不能使用,但可以用来,适用于链式场景,如,适用于全部元素的遍历,缺陷是不知道迭代器,新特性,大家可以慢慢玩

原文链接

《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

开始遍历

多种选择:

for

for-in

forEach 以及相关的(ES5+)

for-of(ES6+)

使用迭代器(ES6+)

先声明并初始化一个数组吧:let 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 (let val of a) {
    console.log(val);
}
使用迭代器
for (let entry, itr = a[Symbol.iterator](); !(entry = itr.next()).done; ) {
    console.log(entry.value);
}
比较上述遍历方式

for 这是最常见的遍历方式,浏览器都支持

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

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

map() ES5+,适用于“链式”场景,如 a.map(i => i + i).sort();

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

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

EOF

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/86435.html

相关文章

  • JavaScript循环遍历你会用哪些?

    摘要:总结中的循环遍历定义一个数组和对象经常用来遍历数组元素遍历值为数组元素索引用来遍历数组元素第一个参数为数组元素,第二个参数为数组元素索引,第三个参数为数组本身可选没有返回值用来遍历数组元素第一个参数为数组元素,第二个参数为数组元素索引,第三 总结JavaScript中的循环遍历 定义一个数组和对象 const arr = [a, b, c, d, e, f]; const obj = ...

    CHENGKANG 评论0 收藏0
  • JavaScript遍历对象和数组的方法总结

    摘要:日常开发中我们难免需要对数组和对象进行遍历,今天抽空来总结下遍历数组和对象常用的方法。使用遍历对象注只能遍历出自身可枚举的属性,而不能遍历出原型链上面的属性。 日常开发中我们难免需要对数组和对象进行遍历,今天抽空来总结下遍历数组和对象常用的方法。 Javascript遍历数组总结 我们定义一个数组 var arr = [2,4,6]; 1.使用for循环遍历 var lengt...

    jiekechoo 评论0 收藏0
  • JavaScript数组

    摘要:与稀疏数组对立的为密集数组,密集数组的索引会被持续的创建,并且其元素的数量等于其长度。创建一个长度为的数组,并初始化了个元素使用构造函数创建数组对象的时候,关键字是可以省略的。另外使用和删除元素是影响数组的长度的。 说明:本文只总结了JavaScript数组在web端的行为,不包括NodeJs端的行为。本文不涉及类型化数组(TypedArray)的讨论、总结。 一、什么是数组 数组的定...

    HtmlCssJs 评论0 收藏0
  • 细说 Javascript 数组篇(一) : 数组遍历和 length 属性

    摘要:遍历为了达到最佳性能来遍历一个数组,最好的方式就是使用经典的循环。尽管属性是定义在数组本身的,但是在循环的每一次遍历时仍然会有开销。给属性赋值一个更小的数将会截断数组,如果赋值一个更大的数则不会截断数组。 尽管数组在 Javascript 中是对象,但是不建议使用 for in 循环来遍历数组,实际上,有很多理由来阻止我们对数组使用 for in 循环。 因为 for in 循环将会枚...

    TigerChain 评论0 收藏0
  • JavaScript遍历方法小结

    摘要:遍历方法小结常用的遍历方法遍历对数组的每个元素执行一次提供的函数创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果遍历大家都熟悉,所以重点讲一下与的区别相同点回调函数参数相同,都自带三个属性均不会修改原数组第二参数的 遍历方法小结 常用的遍历方法 for 遍历 forEach(对数组的每个元素执行一次提供的函数) map(创建一个新数组,其结果是该数组中的每个...

    flyer_dev 评论0 收藏0
  • JavaScript遍历

    摘要:中可以实现遍历的数据类型主要是对象,其中包括普通对象与数组。遍历器是一种接口,为各种不同的数据结构提供统一的访问机制。实例五遍历器对象实例五是的遍历过程,通过手动调用其对象的方法实现信息获取。为每个数组元素执行函数。 前言   将依据自身痛点学习,计划对原生JavaScript写一个系统,本文为第一篇,感兴趣的同学可以关注个人公众号:ZeroToOneMe,或者github博客,将持续...

    ThinkSNS 评论0 收藏0

发表评论

0条评论

zhangke3016

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<