原文

原文是自己博客上發(fā)布的
JS幾種變量交換方式以及性能分析對(duì)比

前言

“兩個(gè)變量之間的值得交換”,這是一個(gè)經(jīng)典的話題,現(xiàn)在也有了很多的成熟解決方案,本文主要是列舉幾種常用的方案,進(jìn)行大量計(jì)算并分析對(duì)比。

起由

最近做某個(gè)項(xiàng)目時(shí),其中有一個(gè)需求是交換數(shù)組中的兩個(gè)元素。當(dāng)時(shí)使用的方法是:

arr = [item0,item1,...,itemN];
//最初使用這段代碼來(lái)交換第0個(gè)和第K(k<N)個(gè)元素
arr[0] = arr.splice(k, 1, arr[0])[0];

當(dāng)時(shí)覺(jué)得這種方法很優(yōu)雅,高逼格。。。

后來(lái),業(yè)余時(shí)間又拿這個(gè)研究下了,順帶自己寫了個(gè)分析工具,和普通方式進(jìn)行對(duì)比。

結(jié)果,大大的出乎我的意料,這種方式的效率比我想象的要低的多。以下是其中一個(gè)測(cè)試結(jié)果的圖

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式