美文网首页
javascript交换数组元素位置

javascript交换数组元素位置

作者: 踏莎行 | 来源:发表于2021-04-27 12:55 被阅读0次

中间值

var arr = [1, 2, 4, 3, 5]
var temp = 0
temp = arr[2] // temp = 4
arr[2] = arr[3] // 此时数组为[1,2,3,3,5]
arr[3] = temp 
console.log(arr); // (5) [1, 2, 3, 4, 5]

这是最基础的方法,创建一个变量temp进行中转,将“4”先赋值给temp,然后用“3”覆盖“4”,然后再将temp的值赋给原来“3”

splice方法

splice方法的使用。可以看这篇:https://www.jianshu.com/p/2c5d0dfa9d1d

  • 使用es5的方法
    封装成一个函数
function swapArray(arrayObject, index1, index2){
      arrayObject[index1] = arrayObject.splice(index2, 1, arr[index1])[0]
}

测试:

var arr = [1, 2, 3, 4, 5]
function swapArray(arrayObject, index1, index2){
  arrayObject[index1] = arrayObject.splice(index2, 1, arr[index1])[0]
}
swapArray(arr, 2, 3)
console.log(arr); // (5) [1, 2, 4, 3, 5]
  • 使用es6展开运算符
function swapArray(arrayObject, index1, index2){
  arrayObject.splice(index2,1,...arrayObject.splice(index1, 1 , arrayObject[index2]));
}

两种方法的实现原理都一样,只是实现方法不同

解构赋值法

var arr = [1, 2, 3, 4, 5];
[arr[3], arr[2]] = [arr[2], arr[3]]
console.log(arr); // (5) [1, 2, 4, 3, 5]

特别声明:如果使用解构赋值的方法对数组元素进行交换,向上面的例子,上一行是数组的声明,下一行就要交换,那么数组声明结束必须加分号,不然报错

Snipaste_2021-04-27_12-55-01.png

相关文章

  • javascript交换数组元素位置

    中间值 这是最基础的方法,创建一个变量temp进行中转,将“4”先赋值给temp,然后用“3”覆盖“4”,然后再将...

  • 数组逆序

    数组逆序: 数组中的元素进行,位置上的交换 逆序实现思想:数组最远端位置交换 数组的指针思想:就是数组的索引 大指...

  • 选择排序

    思考 线性结构中交换元素位置需要利用元素索引交换 “新”数组递减1,通过for循环遍历初始数组建立联系 代码

  • Swift数组元素位置交换

    第一种方法 第二种方法 第三种方法 第四种方法 第五种方法

  • JS 数组交换元素位置

    如图

  • 选择排序

    首先,找到数组中最小的那个元素,其次,将它和数组的第一个元素交换位置(如果第一个元素就是最小元素那么它就和自己交换...

  • 【初级排序算法】选择排序

    选择排序找到数组中最小的元素,然后将它和数组的第一个元素交换位置(如果第一个元素就是最小的元素就自己和自己交换)。...

  • (C++实现)经典排序算法

    1. 交换排序 根据数组中两个元素值的大小来交换两个元素在数组中的位置。 1.1 冒泡排序 1.1.1 基本思想:...

  • 数组元素交换位置

  • JS 数组元素上移、下移、置顶、置底、互换

    数组元素上移 数组元素下移 数组元素置顶 数组元素置底 数组元素交换

网友评论

      本文标题:javascript交换数组元素位置

      本文链接:https://www.haomeiwen.com/subject/koqjrltx.html