需求:给定一个已知数组,进行对数组的翻转
var oldArr=["刘备","关羽","张飞"];
第一种思路:定义一个新的数组,将原来数组中的元素从后往前添加进新数组
1.从后往前进行翻转
var newArr[];
//i取最大索引值,并且减去1,使得i从最后一位开始循环
for(var i=oldArr.length-1;i>=0;i--){
newArr[newArr.length]=oldArr[i];
}
2.从前往后进行翻转
var newArr[];
for(var i=0;i<oldArr.length;i++){
//将原来数组的长度减去1减去这个元素的索引值
//将原来数组处理后赋值给新的数组
//并且将新数组的长度设置为原来数组存入多少就设置为它的长度
newArr[newArr.length]=oldArr[oldArr.length-1-i];
}
第二种思路:在原数组的基础上翻转数组
for(var i=0;i<arr.length/2;i++){
var temp=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=temp;
}
在第二种思路的时候,我因为把arr[arr.length-1-i]赋值给了arr[i],导致只将后半部分的项翻转到了前半部分,而前半部分的项则被覆盖掉