道非道 非常道

          勤思、謹言、慎行、厚積、薄發

          統計

          web

          天圓

          經濟 政治 軍事

          鍵康

          [轉] js 數組 檢索

          轉自: http://zhidao.baidu.com/question/42679804.html 有空研究
           
          網上看到一個老前輩寫過這段程序,討論JS數組的檢索速度,但我發現一個問題,請看:
          <input id="count" value="50000" size="7" maxlength="6">
          <input type="button" value="數組初始華" onclick="txt.innerHTML = array_init()"><br>
          <input type="button" value="傳統循環" onclick="txt.innerHTML += method_for()">
          <input type="button" value="正則匹配" onclick="txt.innerHTML += method_regexp()">
          <div id="txt"></div>
          <SCRIPT LANGUAGE="JavaScript">
          var txt = document.getElementById("txt");
          var a = new Array();
          function array_init()
          {
          var n = parseInt(document.getElementById("count").value);
          a.length = 0;
          for(var i=0; i<n; i++)
          {
          a[i] = Math.random() +"";
          }
          return "數組長度:"+ n;
          }
          function method_for()
          {
          var n = a.length;
          var begin = new Date().getTime();
          var b = new Array();
          for(var i=0; i<n; i++)
          {
          if(a[i].indexOf("0.9999")==0)
          {
          b[b.length] = a[i];
          }
          }
          return ("<br>傳統循環法耗時 "+ (new Date().getTime() - begin)
          +" 毫秒!檢索的結果:<strong title='"+ b.join("
          ")
          +"'>檢索到 "+ b.length +" 個記錄!</strong>");
          }
          function method_regexp()
          {
          var begin = new Date().getTime();
          var b = new Array();
          var s = a.join("\x0f");
          var r = new RegExp().compile("0\\.9999\\d+", "g");
          b = s.match(r);   s = "";
          return ("<br>正則匹配法耗時 "+ (new Date().getTime() - begin)
          +" 毫秒!檢索的結果:<strong title='"+ b.join("
          ")
          +"'>檢索到 "+ b.length +" 個記錄!</strong>");
          }
          </SCRIPT>
          問題:
          當在IE中運行的時候,正則檢索很快
          當在FireFox中運行的時候,結果相反,遍歷數組很快,而正則還沒有在IE中遍歷數組的方法快
          朋友們有興趣的試試,討論一下IE中和FireFox中遍歷數組和正則各是怎么一回事 

          posted on 2009-08-27 11:25 星期五 閱讀(506) 評論(0)  編輯  收藏 所屬分類: web 開發

          主站蜘蛛池模板: 葵青区| 蓬莱市| 晴隆县| 芮城县| 渭源县| 庆安县| 阳曲县| 花莲市| 城固县| 太谷县| 许昌县| 荆门市| 克山县| 建阳市| 中方县| 望谟县| 洛南县| 大厂| 鸡泽县| 亚东县| 台东市| 黄大仙区| 湘西| 榆林市| 广东省| 普陀区| 扎兰屯市| 宿州市| 武安市| 玉溪市| 靖江市| 化德县| 永德县| 隆化县| 喜德县| 宣化县| 依兰县| 旺苍县| 贵德县| 肇东市| 崇州市|