交换数组元素位置是开发项目中经常用到的场景,总结下用过的几种方式。

  最基础的方式,创建一个变量作为中转。

  1. let temp = array[index1];
  2. array[index1] = array[index2];
  3. array[index2] = temp;

 

  splice() 方法用于插入、删除或替换数组的元素。如果是删除时,会返回被删除的元素数组。参数如下:

  可使用splice方法来交换数组的位置,如下:

  1. array.splice(index2,1,...array.splice(index1, 1 , array[index2]));

   array.splice(index1, 1 , array[index2])会将index1位置上的元素替换为index2位置的元素,同时返回[array[index1]](注意此时返回的是数组,所以在代码中加入了扩展运算符…将数组转为参数序列)。再利用同样的方式将index2位置上的元素替换为被删除的原数组的array[index1]的值。完成交换

 

  利用ES6的解构赋值能更加便捷的进行元素交换

  1. [array[index1],array[index2]] = [array[index2],array[index1]];

  等号的左右两边模式相同,就会将右边的值赋给左边的变量。解构赋值的详细介绍

 

以上就是我目前使用过的三种交换方式,以后会再补充。

版权声明:本文为shapeY原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/shapeY/p/9669924.html