JavaScript数组反转的几种常见方法举例

作者:闭包旅人

时间:2026-10-31

浏览:215

本文介绍JavaScript中实现数组反转的多种方案,包括使用内置reverse()方法、结合unshift()循环添加以及反向遍历构建新数组。此外,还探讨了动态规划与切片结合的方式,实现数组指定区间的部分反转操作,并提供完整代码示例供参考。

文章目录

JavaScript数组反转的几种常见方法

第一种方案是直接创建一个新数组,并通过调用数组的reverse()方法完成反转操作。

let arr = [1,2,3,4]
let arr1 = arr.reverse()
console.log(arr1);  //[4, 3, 2, 1]

第二种方案是利用数组循环,借助unshift()方法将元素逐个添加到新数组的头部,从而生成反转后的结果。需要注意的是,unshift()方法会修改原数组的长度。

let arr2 = [1,2,3,4]
let arr3 = []
arr2.forEach((element) => { 
       arr3.unshift(element)
    })
console.log(arr3);  //[4, 3, 2, 1]

第三种方案是通过反向遍历原数组,将元素依次推入一个新数组中,以此实现反转效果。

let arr4 = ["jin", "shi","peng"]
let arr5 = []
for (let i = arr4.length-1; i >=0; i--) {
    arr5.push(arr4[i])
}
console.log(arr5);  //['peng', 'shi', 'jin']

数组指定区间的部分反转

补充内容:JavaScript实现数组指定区间的部分反转逻辑。

动态规划法:const arr = [2, 6, 5, 8, 3, 5, 2, 6, 7];
const start = 3, end = 7;
const reverse = arr => {
   const { length: l } = arr;
   for(let i = 0; i < Math.floor(l/2); i++){
      const temp = arr[i];
      arr[i] = arr[l-i-1];
      arr[l-i-1] = temp;
   };
   return arr;
};
const reverseBetween = (arr, start, end) => {
   const num = Math.min(end - start, arr.length - start);
   arr.splice(start, 0, ...reverse(arr.splice(start, num)));
}
reverseBetween(arr, start, end);
console.log(arr);

完全基于数组内置方法实现的代码示例。

const arr = [1,2,3,4,5,6,7,8]  // 2,5  得 [1,2,6,5,4,3,7,8]
function Fselve(str,a,b){
  let arrary= [];
  let abs = arr.slice(a,b+1).reverse()
  for(var i=0;i<str.length;i++){
    if(i<a){
      arrary.push(str[i])
    }else if(b<i){
      arrary.push(str[i])
    }
  }
  arrary.splice(a,0,abs)
  let newArr =[]
  for(var j=0;j<arrary.length;j++){
    if(arrary[j].length>0){
      for(var h=0;h<arrary[j].length;h++){
        newArr.push(arrary[j][h])
      }
    }else{
      newArr.push(arrary[j])
    }
  }
  console.log(newArr,'new')
  return newArr
}
Fselve(arr,2,5)

总结与回顾。

至此,关于JavaScript数组反转的几种常见方法介绍完毕。如需了解更多相关内容,可查阅本站过往文章或继续浏览后续章节,感谢支持。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章