交换数组两个数位置方法

一,利用splice函数

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

语法:arrayObject.splice(index,howmany,item1,.....,itemX),

index: 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。

howmany: 必需。要删除的项目数量。如果设置为 0,则不会删除项目。

item1, ..., itemX: 可选。向数组添加的新项目。

arr[index1] = arr.splice(index2, 1, arr[index1])[0];

首先 删除index2下标的元素,然后添加arr[index1] 到数组index2处,然后splice函数会返回被删除的数,以数组形式返回,[0]就拿到了之前被删除的arr[index2]的值,赋值给arr[index1]。至此交换完成。

二,最最传统的临时变量法。

let t = arr[index2];

arr[index2] = arr[index1];

arr[index1] = t;

三,arr[index1] = [arr[index2],arr[index2]=arr[index1]][0];

简单粗暴,直接把i1的值赋值给i2,i2的值被保存在数组中,最后取到赋值给i1

四,利用ES6的解构,

[a,b] = [b,a]; 非常简单直接写

你可能感兴趣的:(交换数组两个数位置方法)