再談「字串拼接」的效率

2021-08-30 14:40:47 字數 635 閱讀 2356

拼接字串,大體分為兩種方式,一種通過+號拼接(方式1),這種方式在ie6中效率是極其低下的,因此就出現了第二種方式:採用陣列儲存,最後通過join拼接,這種方式的效率在ie6下對比會發現速度差異非常大。此外還有很多朋友估計沒有注意過,陣列拼接的方式又分為兩種,一種是通過push將字串放入陣列(方式2),另外一種是通過arr[arr.length]='string'的方式存入(方式3),這兩種方式的效能也是有一些差異的。這樣,我們發現一共是有三種不同的方式的,下面我對這三種方式在不同瀏覽器下的執行效率做了個對比,具體資料就不貼出來(因為每次的資料都是不同的,但執行速度的排名是比較穩定的),只對他們的執行效率做個排名。

****************************************===

對比可做以下簡單總結:

在ff及ie8中直接用+號拼接的方式還是效率的最高的方式,其它情況下該方式是最慢的。

陣列拼接的方式裡arr[arr.length]=''的方式是快於push方式的。

最後附上測試用到得**(注:為準確測試,在不同瀏覽器要修改迴圈次數數值)

click here to test

發表於 @ 2023年12月16日 09:35:00

再談「字串拼接」的效率

拼接字串,大體分為兩種方式,一種通過 號拼接 方式1 這種方式在ie6中效率是極其低下的,因此就出現了第二種方式 採用陣列儲存,最後通過join拼接,這種方式的效率在ie6下對比會發現速度差異非常大。此外還有很多朋友估計沒有注意過,陣列拼接的方式又分為兩種,一種是通過push將字串放入陣列 方式2 ...

c 字串拼接效率

1 對於少量固定的字串拼接,如string s a b c 系統會優化成s string.concat a b c 不會新建多個字串。如果寫成string s a s b s c 則會建立三個新的字串。可見,它和stringbuilder有著相似的效率,比用 的拼接方式高效,並且 易於閱讀。stri...

JS拼接字串的效率

js拼接字串的方式,1 最常見的是 2 還可以先將字串轉化為陣列,然後呼叫join實現字串拼接 arr.push str return arr.join 效率分為執行速度和記憶體消耗問題,網上查了相關資料,結論就是join在字串位元組很大時 百萬級以上 用join會明顯快於用 實現的字串拼接 用 耗...