利用js的splice方法,可以轻松实现数组元素的移动:
splice('起始位置','删除数量',['...添加元素'])
方法如下:
const moveArr = (list, i, num) => {
list.splice(i, 0, list.splice(i + num, 1)[0]);
}参数说明:
list 是送过来的数组
i 为下标
num 移动位数,如果传1和-1,则每次前移或后移一个,如果传其他,则表示调换位置。
使用如下:
var arr = ['A', 'B', 'C', 'D', 'E']
const moveArr = (list, i, num) => {
list.splice(i, 0, list.splice(i + num, 1)[0]);
}
// B移动到了C后面
moveArr(arr, 1, 1)
console.log(arr)
// B移动到了A前面
moveArr(arr, 1, -1)
console.log(arr)