JavaScript数组反转的几种常见方法举例
作者:闭包旅人时间:2026-10-31 06:53:59浏览:216
本文介绍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数组反转的几种常见方法介绍完毕。如需了解更多相关内容,可查阅本站过往文章或继续浏览后续章节,感谢支持。
作者最新文章
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
