请教问题

请教问题

arr[arr.length]=input;

为什么要加上面这一句?

怎么知道-1就是减的是退出呀?

<!DOCTYPE html>

<html lang="en">


<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Document</title>

</head>


<body>

    <script>

        var arr=[];

        var input;

        while (input!='退出') {

            input=prompt('输入工资');

            arr[arr.length]=input;

        }

        arr.length-=1;

        document.write(arr);


    </script>

</body>


</html>


正在回答 回答被采纳积分+1

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

2回答
好帮手慕星星 2021-05-30 11:13:08

同学你好,这里是简写形式,arr.length-=1;代表着arr.length = arr.length - 1; 。

祝学习愉快!

好帮手慕张 2021-02-25 18:55:44

同学你好,代码效果正确,问题解答如下:

是数组的长度减1,默认删除掉的就是最后一个元素。而“退出”是最后输入的内容,它是数组最后一个元素,所以删掉的是“退出”。

祝学习愉快!

  • 提问者 神知 #1

    arr.length-=1;

    这里为什么是-=不是-

    2021-05-29 22:05:52
  • sungkt 回复 提问者 神知 #2

    比如 用户输入内容是 100,200,则 while 结束的时候,

    arr=[100,200,"退出"],

    此时我们需求的是[100,200],长度要比arr少1,

    如果令arr.length-=1,则arr.length=2,此时arr会只保留前2个数据,即arr=[100,200],

    如果使用arr.length-1;只有这一句,因为没有变量去接收这个结果,所以arr的length不变还是3。


    2021-06-02 18:55:44
  • 慕运维1161037 回复 提问者 神知 #3

    同学你好,其实-=和-都可以写;

    arr.length-=1;实际上等于arr.length=arr.length-1,都是将arr数组的长度length减一,将最后一项“退出”减去

    2021-06-09 18:05:16
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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