方法1

const array = [
  {
    name: 'james',
    number: 1,
  },
  {
    name: 'json',
    number: 2,
  },
  {
    name: 'kobe',
    number: 3,
  },
];

function changeIndex(array: Array<any>, index1: number, index2: number) {
  [array[index1], array[index2]] = [array[index2], array[index1]];
}
changeIndex(array, 0, 2);
console.log(array);

在这里插入图片描述

方法2

const array = [
  {
    name: 'james',
    number: 1,
  },
  {
    name: 'json',
    number: 2,
  },
  {
    name: 'kobe',
    number: 3,
  },
];

function changeIndex(array: Array<any>, index1: number, index2: number) {

  array[index1] = array.splice(index2, 1, array[index1])[0];
  /** splice 会修改原来的数组 slice 不会 返回的是删除后的数据 所以 index2要删除的位置,删除1个数据 返回是index2的数据 然后最后一个参数是新增的数据为index的数据 */
}
changeIndex(array, 0, 2);
console.log(array);

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐