reverse翻转数组 顾名思义,将数组元素方向反转
let arr = [1, 2, 3, 4, 5]
const newArr = arr.reverse()
alert(arr) // 5,4,3,2,1
console.log(newArr) // 5,4,3,2,1
数组reverse() 方法会将数组中的元素翻转顺序,并返回翻转后的数组。也就是说,该方法会修改原数组,并返回修改后的数组。如果你需要对原数组的元素顺序进行翻转,可以使用该方法。
一般在项目中会用到数组翻转的场景 在使用栈或队列等数据结构时,可以通过reverse()方法来实现先进后出或后进先出的操作。例如,在需要实现一个浏览历史记录的数组时,可以通过push()方法向数组尾部添加新的页面浏览记录,而后使用reverse()方法将数组元素翻转,这样就能够实现按照浏览的时间顺序回溯历史记录。
以下是一个使用 reverse() 方法来实现先进后出或者后进先出的例子,实现一个浏览历史记录的功能:
// 创建历史记录数组
const history = [];
// 访问第一个页面
history.push('https://juejin.cn/');
// 访问第二个页面
history.push('https://www.github.com');
// 访问第三个页面
history.push('https://www.baidu.com');
// 倒序遍历历史记录
history.reverse().forEach((url, index) => {
console.log(`[${index + 1}] ${url}`);
});
// history 数组翻转之后,可以实现按照历史记录的访问时间倒序输出历史记录中各个页面的 URL。
输出结果为:
[1] https://www.baidu.com
[2] https://www.github.com
[3] https://juejin.cn/
需要注意的是,在使用 reverse() 方法时,原数组会被修改。如果希望不改变原数组,可以先调用 slice() 方法创建一个数组的浅副本,然后再调用 reverse() 方法。
注意点:slice() 方法是浅拷贝