请问老师
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>数组</title>
</head>
<body>
<script>
function arrReverse(arr){//调用arrreverse数组,函数设定为arr
var newArr=[]; //设置新的变量名称newArr
for(var i=0;i<arr.length;i++){//循环变量,i从0开始,小于函数arr数组arrReverse的长度值,长度值为8,则i从0到8的循环
//补充代码
newArr[i]=arr[arr.length-1-i];
//i为0时 newArr[0]=arr[8-1-0],数组中索引为7的是8,所以newArr=8
//i为1时 newArr[1]=arr[8-1-1],数组中索引为6的是7,所以newArr=7
//i为2时 newArr[2]=arr[8-1-2],数组中索引为5的是6,所以newArr=6
//i为3时 newArr[3]=arr[8-1-3],数组中索引为4的是5,所以newArr=5
//i为4时 newArr[4]=arr[8-1-4],数组中索引为3的是4,所以newArr=4
//i为5时 newArr[5]=arr[8-1-5],数组中索引为2的是3,所以newArr=3
//i为6时 newArr[6]=arr[8-1-6],数组中索引为1的是2,所以newArr=2
//i为7时 newArr[7]=arr[8-1-7],数组中索引为0的是1,所以newArr=1
//i为8时 newArr[8]=arr[8-1-8],数组中索引为-1
}
//补充代码
return newArr;
}
document.write(arrReverse([1,2,3,4,5,6,7,8]));
</script>
</body>
</html>
问题描述:
请问老师,使用for循环的时候0是会到8循环的,但是如果循环到8的时候按照我的想法是对应的数组索引是-1,这个该怎么理解呢
正在回答
同学你好,代码是对的,问题解答如下:
i是从0开始,但是最大值只能到7,不是8。arr.length是8,而循环条件是i<arr.length :
即i小于8时,才能进入for循环,并执行for中的代码;所以i只能到7,不会存在下面这一条:
同学再理解一下。
祝学习愉快!
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星