原文
原文是自己博客上發(fā)布的
JS幾種變量交換方式以及性能分析對比
前言
“兩個變量之間的值得交換”,這是一個經(jīng)典的話題,現(xiàn)在也有了很多的成熟解決方案,本文主要是列舉幾種常用的方案,進(jìn)行大量計算并分析對比。
起由
最近做某個項目時,其中有一個需求是交換數(shù)組中的兩個元素。當(dāng)時使用的方法是:
arr = [item0,item1,...,itemN];
//最初使用這段代碼來交換第0個和第K(k<N)個元素
arr[0] = arr.splice(k, 1, arr[0])[0];
當(dāng)時覺得這種方法很優(yōu)雅,高逼格。。。
后來,業(yè)余時間又拿這個研究下了,順帶自己寫了個分析工具,和普通方式進(jìn)行對比。
結(jié)果,大大的出乎我的意料,這種方式的效率比我想象的要低的多。以下是其中一個測試結(jié)果的圖