利用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)