# 解题思路 or 实现原理

通过 splice方法去复制需要移动的数组元素,并拼接新数组。

# 实现代码

/*
 * @Author: Rainy
 * @Date: 2019-11-14 19:25:01
 * @LastEditors  : Rainy
 * @LastEditTime : 2019-12-29 10:24:02
 */

import { AnyArrayMap } from 'types';

export function arrayMove(array: AnyArrayMap, from: number, to: number): AnyArrayMap {
  array = array.slice();
  array.splice(to < 0 ? array.length + to : to, 0, array.splice(from, 1)[0]);
  return array;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 参考

splice (opens new window)