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