老师,我不理解这段代码,如下描述:newArr[i] = arr[arr.length - 1 - i];

老师,我不理解这段代码,如下描述:newArr[i] = arr[arr.length - 1 - i];

具体遇到的问题

这里的arr.length - 1知道是数组的长度,其他的就不明白了

报错信息的截图

相关课程内容截图

图片描述

尝试过的解决思路和结果

粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,这段代码是实现颠倒数组元素,具体如下:

1、newArr[i]="XXX"是往数组newArr中添加元素,如下:

http://img1.sycdn.imooc.com//climg/5fc4d74a095b52b205130184.jpg

http://img1.sycdn.imooc.com//climg/5fc4d756096a585305470145.jpg

2、arr[arr.length - 1]是以索引的方式获取数组中的元素:

http://img1.sycdn.imooc.com//climg/5fc4d87209f7352006280200.jpg

http://img1.sycdn.imooc.com//climg/5fc4d88009fe696205470162.jpg


3、arr.length是数组的长度,不是arr.length-1。由于索引是从0开始,所以arr.length - 1是数组最后一项的索引,因此arr[arr.length - 1]是获取数组的最后一项。

4、newArr[i] = arr[arr.length - 1 - i]这句代码含义如下:

当i=0时,代码实际是:newArr[0] = arr[arr.length - 1-0]=arr[7],即为newArr添加一项,值为arr的最后一项,该过程就实现了newArr的第一项,是arr的最后一项。

当i=1时,代码实际是:newArr[1] = arr[arr.length - 1-1]=arr[6],即为newArr再添加一项,值为arr的倒数第二项,该过程实现了newArr的第二项,是arr的倒数第二项。

以此类推,就实现了newArr中的每一项,实际是arr中倒数的项。

祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师