有關~移除陣列元素 @ R~福氣拉! :: 隨意窩 Xuite日誌
  • BloggerAds
  • 關鍵字
  • Search Google
  • Google
    1. 沒有新回應!
  • 看起來滿像樣
  • 工商時間
  • 2009-04-23 00:40 有關~移除陣列元素
    平均分數:0 顆星    投票人數:0
    我要評分:

    某案子,常常要清除陣列元素,然後重新給值....

    用了最根本的方法-->pop (A方式),@@但總覺不是很優...

    今天突然有其它的FU...改成(B方式)...


    ****************************(A方式)
    <html>
    <head>
        <title>ClearArray</title>
    </head>
    <body>   
        <div id=divMsg></div>   
        <div id=divTime></div>   
    </body>
    </html>
    <script type="text/javascript">
        var maxLength=10000;
        var StartTime = new Date();
        var arr = new Array();
        for(ii=0;ii<maxLength;ii++)arr[ii]=ii+':Array Value~';
        window.document .getElementById ('divMsg').innerHTML +='陣列長度:'+ arr.length   +'<br>';
       
        //***************(A方式-start)****//
        for(dd=arr.length ;dd>=0;dd--)arr.pop();
        //***************(A方式-end)****//

        window.document .getElementById ('divMsg').innerHTML +='陣列長度(clear):'+ arr.length   +'<br>';
        arr[0]='0';
        window.document .getElementById ('divMsg').innerHTML +='陣列長度(再給1次值):'+ arr.length   +'<br>';
        SpendTime=new Date() - StartTime   
        window.document .getElementById ('divTime').innerHTML ='花費時間:' + SpendTime;
    </script>

    ****************************(B方式)
    <html>
    <head>
        <title>ClearArray</title>
    </head>
    <body>   
        <div id=divMsg></div>   
        <div id=divTime></div>   
    </body>
    </html>
    <script type="text/javascript">
        var maxLength=10000;
        var StartTime = new Date();
        var arr = new Array();
        for(ii=0;ii<maxLength;ii++)arr[ii]=ii+':Array Value~';
        window.document .getElementById ('divMsg').innerHTML +='陣列長度:'+ arr.length   +'<br>';
       
        //***************(B方式-start)****//
        arr=null;
        arr = new Array();
        //***************(B方式-end)****//

        window.document .getElementById ('divMsg').innerHTML +='陣列長度(clear):'+ arr.length   +'<br>';   
        arr[0]='0';
        window.document .getElementById ('divMsg').innerHTML +='陣列長度(再給1次值):'+ arr.length   +'<br>';
        SpendTime=new Date() - StartTime   
        window.document .getElementById ('divTime').innerHTML ='花費時間:' + SpendTime;
    </script>

     


    結果比較表~~
    ----------------------------------------------
    當陣列(maxLength)長度    100         1,000       10,000
    ----------------------------------------------
    (A)方式      花費時間約:0    花費時間約:47     花費時間約:3234
    (B)方式      花費時間約:0    花費時間約: 0     花費時間約:16

    ----------------------------------------------


    速度上也快多了~~(陣列長度愈大,愈有差距哦!!)

    目前RUN 是OK~~~但不確定,這樣是不是OK~~

     

    小米 / Xuite日誌 / 回應(0) / 引用(0) / 好文轉寄
    回應