一,利用splice函數(shù)
splice() 方法向/從數(shù)組中添加/刪除項目,然后返回被刪除的項目。
語法:arrayObject.splice(index,howmany,item1,.....,itemX),
index:?必需。整數(shù),規(guī)定添加/刪除項目的位置,使用負數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
howmany:?必需。要刪除的項目數(shù)量。如果設(shè)置為 0,則不會刪除項目。
item1, ..., itemX:?可選。向數(shù)組添加的新項目。
arr[index1]?=?arr.splice(index2,?1,?arr[index1])[0];
首先 刪除index2下標(biāo)的元素,然后添加arr[index1] 到數(shù)組index2處,然后splice函數(shù)會返回被刪除的數(shù),以數(shù)組形式返回,[0]就拿到了之前被刪除的arr[index2]的值,賦值給arr[index1]。至此交換完成。
二,最最傳統(tǒng)的臨時變量法。
let t = arr[index2];
arr[index2] = arr[index1];
arr[index1] = t;
三,arr[index1] = [arr[index2],arr[index2]=arr[index1]][0];
簡單粗暴,直接把i1的值賦值給i2,i2的值被保存在數(shù)組中,最后取到賦值給i1
四,利用ES6的解構(gòu),
[a,b] = [b,a]; 非常簡單直接寫