方法一:
var arr = [99,88,77,66];
for (let i=0;i<arr.length/2;i++){ // 这里不/2的话 会回到原顺序
let tmp = arr[i];
arr[i] = arr[arr.length-i-1];
arr[arr.length - i -1] = tmp;
}
console.log(arr);
【结果】
【分析】
i=0 , i< 2;i++
i=0时, arr[0] = arr[3] arr[3] = arr[0] 下标为3的元素赋值给下标为0的元素,反之
i=1时 arr[1] =arr[2] arr[2] =arr[1] 下标为1的元素赋值给下标为2的元素,反之
【注意】
如果写的是: i<arr10.length ,即是: i可以等于 0 ,1 2, 3,
for(let i=0;i<arr10.length;i++){
........
}
【分析】
i=2时, arr[2] = arr[1] arr[1] = arr[2]
i=3时 arr[3] =arr[0] arr[0] =arr[3] 这样又交换赋值,又回到原顺序
【结果】 原顺序:
方法二: i<=j也一样的
for(let i=0, j=arr.length -1; i<j;i++,j--){
// 1 2
var tmp = arr10[i];
arr[i] = arr[j];
arr[j] = tmp;
}
【分析】
i=0时, arr[0]=arr[3] arr[3] =arr[0]
i=1时, arr[1]=arr[2] arr[2]==arr[1]
如果时 i<=j的话 i=2时 j=2 arr[2]=arr[2]
【结果】