move.js

  1. /**
  2. * 将数组 `from` 位置的元素移至 `to` 位置,返回处理后的原数组。
  3. *
  4. * @alias module:Array.move
  5. * @since 1.10.0
  6. * @see {@link https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/splice splice}
  7. * @param {Array} array 要处理的数组。
  8. * @param {number} from 要移动的元素索引。
  9. * @param {number} to 要移动目标位置的元素索引。
  10. * @returns {*} 处理后的原数组。
  11. * @example
  12. *
  13. * const arr = ['a', 'b', 'c', 'd'];
  14. *
  15. * move(arr, 0, 1); // ['b', 'a', 'c', 'd']
  16. *
  17. * // 此时 arr 已经变为 ['b', 'a', 'c', 'd']
  18. * move(arr, -2, 0); // ['c', 'b', 'a', 'd']
  19. *
  20. */
  21. function move(array, from, to) {
  22. array.splice(to, 0, array.splice(from, 1)[0]);
  23. return array;
  24. }
  25. export default move;