翻转数组的几种方式:
- 使用数组对象 Array 的内置方法
let arr = [1,2,3,5,2,8,'heihei',3,true];
console.log(arr); //[1, 2, 3, 5, 2, 8, 'heihei', 3, true]
console.log(arr.reverse()); //[true, 3, 'heihei', 8, 2, 5, 3, 2, 1]
- 利用额外的数组进行接收
function reverseArr(arr) {
let newArr = [];
for (let i = arr.length -1; i >= 0; i--) {
newArr.push(arr[i])
}
return newArr;
}
- 不新建数组,利用循环进行翻转(第一个元素和最后一个元素互换,第二个和倒数第二个...)
function reverseArr(arr) {
let temp;
let j = arr.length - 1;
for (let i = 0; i < arr.length; i++) {
temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
j--;
if (i >= j) {
break;
}
}
return arr;
}
数组翻转是基本用法,主要考察循环和交换的思路,不新建数组,利用交换的思维更有训练思维的作用。多用来训练初学者封装函数、使用循环、交换的使用。