美文网首页
Js数组遍历方法对比总结

Js数组遍历方法对比总结

作者: 小白function | 来源:发表于2019-02-25 11:25 被阅读0次

引言:

ES6为javascript为数组遍历提供了新的一种方式: for....of....。那之前的遍历方法各存在哪些缺点?for...of...有什么好处?接下来,我们先回顾一下有多少种方式。

方法:

第一种: for 循环

特点:

       1. 代码不够简洁 

        2.常用,性能比较好,数组较大时,也需要优化。

第二种: forEach

特点:

         代码比较简洁,但是没法中断停止整个循环,性能比for弱

第三种: for ....in...


特点:

      更常用于对象遍历,注意点输出的i 是一个字符串类型,非数值类型,要用,通常还得转换,效率也比较低

第四种:for...of... (es6新增)

特点:

       1. 可以用break终止循环,continute跳出当前循环,继续后面的循环

       2. 用keys()方法获得数值型索引。

       4. 能遍历的对象有:数组,类数组对象,字符串,set和map结构等具有iterator接口的数据结构

第五种: filter


特点:

       不会对空数组检测 ,不会改变原始数组

第六种:map

特点:支持return 返回值,实际使用效率比foreach还低

第七种:every


  特点:

       检测数组所有元素都符合条件返回true,否则返回false.

第八种: some

特点:

      检测数组只要有一个符合条件就返回true,剩下元素不会再继续执行,全部不符合返回false

第9种:reduce & reduceRight

特点:

    reduce ()接收一个函数作为累加器(accumulator),数组中的每个值(从左到右)开始缩减,最终为一个值

    reduceRigh()  跟reduce不一样的是 他是从右边到左边。

第10种: find() & findIndex()

特点: 

     1.find() 返回数组中符合测试函数条件的第一个元素。否则返回undefined 。

      2.findIndex() 返回数组中符合测试函数条件的第一个元素位置

总结: for...of 是es6新出的一种遍历方式,能遍历的对象有:数组,类数组对象,字符串,set和map结构等具有iterator接口的数据结构。

相关文章

  • JS 数组循环遍历方法的对比

    JS 数组循环遍历方法的对比 JavaScript 发展至今已经发展出多种数组的循环遍历的方法,不同的遍历方法运行...

  • Js数组遍历方法对比总结

    引言: ES6为javascript为数组遍历提供了新的一种方式: for....of....。那之前的遍历方法各...

  • js数组遍历方法总结

    转自: js数组遍历方法总结 数组遍历方法 1.for循环 使用临时变量,将长度缓存起来,避免重复获取数组长度,当...

  • JS数组遍历

    本文针对JS中数组遍历做一个总结 普通 for 循环 forEach 循环(数组自带的方法) 注意: forEac...

  • [转]JS数组遍历方法

    文章主要来源: JS数组遍历方法总结 -- 我是豆子啊 我们用更简洁的语法(比如内置函数)遍历数组,从而消除循环结...

  • Js数组遍历方法总结

    前言 ES5和ES6都新增了很多对数组遍历的方法,本文主要介绍forEach、map、filter、some、ev...

  • JS数组遍历方法总结

    好像没更新技术博客,倒是学习了不少新技术,只是懒得写出来,还是得有个地方整理出来,以后每周更新一篇,给自己定个备忘...

  • 遍历数组和对象2018-08-14

    js数组遍历和对象遍历 针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历;还有性能,优缺点等。 J...

  • 数组2

    js数组遍历和对象遍历 针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历;还有性能,优缺点等。 J...

  • 聊一聊数组的map、reduce、foreach等方法

    聊聊数组遍历方法 JS 数组的遍历方法有好几个: every some filter foreach map re...

网友评论

      本文标题:Js数组遍历方法对比总结

      本文链接:https://www.haomeiwen.com/subject/zpuwyqtx.html