写个方法交换数组两个元素的位置

在前端开发中,交换数组中两个元素的位置是一个常见的任务。你可以使用JavaScript的数组解构赋值来实现这个功能。下面是一个示例方法,它接受一个数组、第一个元素的索引和第二个元素的索引作为参数,并返回一个新的数组,其中这两个元素的位置已经交换:

function swapElements(arr, index1, index2) {
  // 创建数组的副本,以避免修改原始数组
  const newArr = [...arr];

  // 验证索引是否有效
  if (index1 < 0 || index1 >= newArr.length || index2 < 0 || index2 >= newArr.length) {
    throw new Error('Invalid index');
  }

  // 使用解构赋值来交换元素
  [newArr[index1], newArr[index2]] = [newArr[index2], newArr[index1]];

  return newArr;
}

// 示例用法
const originalArray = [1, 2, 3, 4, 5];
const swappedArray = swapElements(originalArray, 1, 3);
console.log(swappedArray); // 输出: [1, 4, 3, 2, 5]

这个方法首先创建一个原始数组的副本,以避免直接修改原始数组。然后,它检查提供的索引是否有效。如果索引无效(即超出数组的范围),则抛出一个错误。最后,它使用解构赋值来交换指定索引处的元素,并返回新的数组。

posted @ 2024-12-28 09:15  王铁柱6  阅读(124)  评论(0)    收藏  举报