JavaScript之?dāng)?shù)組拼接的效率高低

前言

簡單證明下不同數(shù)組拼接的效率問題,下面上結(jié)果(注意:我只在谷歌瀏覽器上進(jìn)行了測試)
先說結(jié)論:arr.concat(array) > arr.push > arr[i] > [...arr] > arr.concat(i)

正文

<script>
        // 測試數(shù)組拼接的效率問題
        let n = 500000
        function test1() {
            let test_s = +new Date()
            let arr = []
            for (let i = 0; i < n; i++) {
                arr[i] = i
            }
            let test_e = +new Date()
            console.log('index:'+ (test_e - test_s) + 'ms       lenth:' + arr.length)
        }
        function test2() {
            let test_s = +new Date()
            let arr = []
            for (let i = 0; i < n; i++) {
                arr.push(i)
            }
            let test_e = +new Date()
            console.log('push:'+ (test_e - test_s) + 'ms        lenth:' + arr.length)
        }
        let con_arr = []
        for (let i = 0; i < n; i++) {
            con_arr[i] = i
        }
        function test4() {
            let test_s = +new Date()
            let arr = []
            arr = arr.concat(con_arr)
            let test_e = +new Date()
            console.log('concat(arr):'+ (test_e - test_s) + 'ms     lenth:' + arr.length)
        }
        function test5() {
            let test_s = +new Date()
            let arr = []
            arr = [...arr, ...con_arr]
            let test_e = +new Date()
            console.log('es6...:'+ (test_e - test_s) + 'ms      lenth:' + arr.length)
        }
        test1()
        test2()
        test4()
        test5()
    </script>

下面是幾組數(shù)據(jù)的測試結(jié)果


n=10000
n=100000
n=500000
n=1000000
n=5000000
n=10000000
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一部分:快速入門JS學(xué)習(xí)中的一些注意點(diǎn):2018.8.16基礎(chǔ)知識(shí): 入門JavaScript是世界上最流行的腳...
    天山雪蓮_38324閱讀 590評論 0 1
  • Javascript有很多數(shù)組的方法,有的人有W3C的API,還可以去MDN上去找,但是我覺得API上說的不全,M...
    頑皮的雪狐七七閱讀 4,491評論 0 6
  • ??途W(wǎng)上面有一個(gè)關(guān)于js的自測,然后我看了一下原作者的github,記錄一下解題過程吧。所以,對數(shù)組操作,不改變原...
    進(jìn)擊的前端閱讀 627評論 0 1
  • 數(shù)組的定義 數(shù)組是按序號排列的一組值,每個(gè)值的位置都有編號(從0開始)。數(shù)組本質(zhì)上是一種特殊的對象。它的鍵名是按(...
    Allin_Lin閱讀 671評論 0 0
  • 這是周六隨老婆逛街拍的一張照片,這是一家經(jīng)營老酒的店,看到這個(gè)人物很有喜感,就隨手拍下。 店家門聯(lián)上的“相逢...
    四海新程閱讀 462評論 2 7

友情鏈接更多精彩內(nèi)容