Javascript中常见的遍历数组的方法

1.for循环

  1. for(var i = 0; i < arr.length; i++) {
  2. // do something.
  3. }

2.for循环的改进版

  1. for(var i = 0, len = arr.length; i < len; i++) {
  2. // do something.
  3. }

3.数组的forEach方法

  1. arr.forEach(function() {
  2. // do something.
  3. });

4.数组的map方法

  1. arr.map(function() {
  2. // do something.
  3. });

5.for(var ... in ... )

  1. for(var elem in arr) {
  2. // do something.
  3. }

构建检测性能的代码

  1. var arr = new Array();
  2. for(var i = 0; i < 1000000; i++) {
  3. arr.push(i);
  4. }
  5.  
  6. // 1
  7. console.time();
    for(var i = 0; i < arr.length; i++) {
      // do something.
    }
  8. console.timeEnd();
  9.  
  10. // 2
  11. console.time();
  12. for(var i = 0, len = arr.length; i < len; i++) {
  13.   // do something.
  14. }
  15. console.timeEnd();
  16.  
  17. // 3
  18. console.time();
  19. arr.forEach(function() {
      // do something.
    });
  20. console.timeEnd();
  21.  
  22. // 4
  23. console.time();
  24. arr.map(function() {
      // do something.
    });
  25. console.timeEnd();
  26.  
  27. // 5
  28. console.time();
  29. for(var elem in arr) {
      // do something.
    }
  30. console.timeEnd();

测试环境

Windows10 Google Chrome 版本 60.0.3112.101(正式版本)

结果(只选取一组比较有代表性的)

default: 7.076904296875ms
default: 5.582275390625ms
default: 26.144775390625ms
default: 577.5009765625ms
default: 204.117919921875ms

结论

使用for循环的性能最高。

Javascript中遍历数组方法的性能对比的更多相关文章

  1. JavaScript中遍历数组和对象的方法

    js数组遍历和对象遍历 针对js各种遍历作一个总结分析,从类型用处,分析数组和对象各种遍历使用场景,优缺点等 JS数组遍历: 1,普通for循环,经常用的数组遍历 var arr = [1,2,0,3 ...

  2. javascript 中遍历数组的简单方法

    在Javascript中有自带方便遍历数组的方法(此方法非彼方法不要误会哦): 1 .利用for( index in array ){}; 2.利用 array.forEach( function(e ...

  3. JavaScript中遍历数组 最好不要使用 for in 遍历

    先看一段代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  4. javascript中常用数组方法详细讲解

    javascript中数组常用方法总结 1.join()方法: Array.join()方法将数组中所以元素都转化为字符串链接在一起,返回最后生成的字符串.也可以指定可选的字符串在生成的字符串中来分隔 ...

  5. JavaScript中遍历数组,最好不要用for...in

    先看一段代码 var arr = [2,3,4,5]; for(var i = 0; i < arr.length; i++){ console.log(i,"类型:"+ty ...

  6. Javascript中的数组方法总结

    1.concat():将两个或多个数组合并成一个数组 arrayObject.concat(arrayX,arrayX,......,arrayX),返回一个新的数据,arrayX可以是数值也可以是数 ...

  7. php中遍历数组的方法

    参考网址:http://www.jb51.net/article/29949.htm 这三种方法中效率最高的是使用foreach语句遍历数组.从PHP4开始就引入了foreach结构,是PHP中专门为 ...

  8. Javascript中的数组去重-indexof方法

    在Javascript中,有时我们会用到数组去重.我在这里给大家介绍一下本人认为最简单实用的一种方法-indexOf()去重. var arr = [1,1,1,2,2,2,3,3,4,5,6,2,1 ...

  9. JavaScript中对数组和数组API的认识

    JavaScript中对数组和数组API的认识 一.数组概念: 数组是JavaScript中的一类特殊的对象,用一对中括号“[]”表示,用来在单个的变量中存储多个值.在数组中,每个值都有一个对应的不重 ...

随机推荐

  1. Android内核sysfs中switch类使用实例

    Android内核sysfs中switch类使用实例 最终在这个周末,能够干点自己想要干的事了. 由我这个二流的内核驱动开发人员来解析一下sysfs中的switch类.先猜測一下来历,在普通的嵌入式L ...

  2. 趋势科技PC-cillin2015,你来公測我发奖!

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXF1c2hp/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...

  3. Python 项目实践一(外星人入侵)第二篇

    接着上次的继续学习. 一 创建一个设置类 每次给游戏添加新功能时,通常也将引入一些新设置.下面来编写一个名为settings的模块,其中包含一个名为Settings的类,用于将所有设置存储在一个地方, ...

  4. java泛型学习(一)

    泛型也叫做参数化类型,顾名思义的去理解,就是把类型作为一个参数.类比方法的传参,我们举个例子. class A{ public void getX(int x){ System.out.println ...

  5. iOS开发添加pch文件

    首先说一下pch的作用: 1.存放一些全局的宏(整个项目中都用得上的宏) 2.用来包含一些全部的头文件(整个项目中都用得上的头文件) 3.能自动打开或者关闭日志输出功能 如何在Xcode中添加pch文 ...

  6. 商城项目回顾整理(二)easyUi数据表格使用

    后台主页: 商品的数据表格展示 引入用户表数据表格展示 引入日志表数据表格展示 引入订单表数据表格展示 后台主页代码: <%@ page language="java" co ...

  7. JS判断终端

    //判断手机终端 if(navigator.userAgent.match(/(iPhone|iPod|Android|ios)/i)) { window.location.href = 'mobil ...

  8. UIImage类方法总结及UIImage生成方法对比

    http://mp.weixin.qq.com/s/A900w0Y5pGjuaB4j9Os9ww1.UIImage 生成方法的对比 Apple官方的文档为生成一个UIImage对象提供了两种方法: 1 ...

  9. Java I/O---File类

    1.File概述 File(文件)类可能有一定的误导性,它不仅仅指代的是文件.它既能代表一个特定的文件的名称,又能代表一个目录下的一组文件集的名称,这样就可以用集合List方法调用和遍历.实际上Fil ...

  10. Add to List 349. Intersection of Two Arrays

    Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, 2, 1] ...