JS调换数组元素位置

项目上遇到一个需求,需要调换/批量调换数组元素的位置,记录一下解决方案

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
1:a,b两个元素位置互换
arr1 = ['a','b','c','d'];
arr1[1]=arr1.splice(0,1,arr1[1])[0];
输出["b", "a", "c", "d"]


2:d的位置跳到第一位
arr2 = ['a','b','c','d'];
arr2.splice(3,1);
arr2.unshift('d');
输出["d", "a", "b", "c"]

3:a的位置移到最后一位
arr3 = ['a','b','c','d'];
arr3.splice(0,1);
arr3.push('a');
输出['b','c','d','a'];

4:把cd的位置往前移动一位
arr4 = ['a','b','c','d'];
let idx = [2,3];
arr4.forEach((val,index) => {
idx.forEach((item) => {
if (index == item) {
arr4[index-1]=arr4.splice(index,1,arr4[index-1])[0];
}
});
});
输出["a", "c", "d", "b"]

5:把ab的位置往后移动一位
arr5 = ['a','b','c','d'];
let idx = [0,1];
arr5.forEach((val) => {
//马克,现在没思路
})

点击这里看demo


JS调换数组元素位置
https://xypecho.github.io/2018/03/30/JS调换数组元素位置/
作者
很青的青蛙
发布于
2018年3月30日
许可协议