Javascript 交换数组元素
2022-08-29 23:59:23
有没有更简单的方法来交换数组中的两个元素?
var a = list[x], b = list[y];
list[y] = a;
list[x] = b;
有没有更简单的方法来交换数组中的两个元素?
var a = list[x], b = list[y];
list[y] = a;
list[x] = b;
您只需要一个临时变量。
var b = list[y];
list[y] = list[x];
list[x] = b;
编辑劫持10年后的顶级答案,我们采用了大量的ES6:
给定数组 ,您现在可以在一行中交换值,如下所示:arr = [1,2,3,4]
[arr[0], arr[1]] = [arr[1], arr[0]];
这将生成数组 。这是解构赋值。[2,1,3,4]
如果需要使用本机 javascript 的单个表达式,请记住,拼接操作的返回值包含已删除的元素。
var A = [1, 2, 3, 4, 5, 6, 7, 8, 9], x= 0, y= 1;
A[x] = A.splice(y, 1, A[x])[0];
alert(A); // alerts "2,1,3,4,5,6,7,8,9"
编辑:
在表达式的末尾是必需的,因为返回一个数组,在这种情况下,我们需要返回数组中的单个元素。[0]
Array.splice()