zoukankan      html  css  js  c++  java
  • Javascript中遍历数组方法的性能对比

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

    1.for循环

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

    2.for循环的改进版

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

    3.数组的forEach方法

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

    4.数组的map方法

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

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

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

    构建检测性能的代码

    var arr = new Array();
    for(var i = 0; i < 1000000; i++) {
    	arr.push(i);
    }

    // 1 console.time();
    for(var i = 0; i < arr.length; i++) {
      // do something.
    } console.timeEnd();

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

    // 3 console.time(); arr.forEach(function() {
      // do something.
    }); console.timeEnd();

    // 4 console.time(); arr.map(function() {
      // do something.
    }); console.timeEnd();

    // 5 console.time(); for(var elem in arr) {
      // do something.
    } 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循环的性能最高。

  • 相关阅读:
    吉他 摄影
    前端思考独处时间自我成长
    约束力
    js算法
    旅行计划
    生产者消费者问题
    Lock锁
    线程和进程
    什么是JUC
    GC日志分析和垃圾回收器的新展望
  • 原文地址:https://www.cnblogs.com/SyMind/p/7420050.html
Copyright © 2011-2022 走看看