不用第三个变量来调换a和b的值

不用第三个变量来调换a和b的值

【数组】-【5-5 编程练习】尝试的方法需要直接写入key,感觉不太符合提干的要求。

相关代码:

<script>
    var a = {name: 'xm'}, b = [4];
    a['b']=b[0];
    b={name:a['name']};
    a=a['b'];
    console.log(b);
    console.log(a);
</script>

烦请老师告知正确答案。

https://img1.sycdn.imooc.com//climg/62648932090bc95e15920820.jpg

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

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

1回答
好帮手慕慕子 2022-04-24 12:01:52

同学你好,b变量开始存储的是数组,所以交换给到a,也应该是数组,而代码中交换后的a的值为数字4,不符合练习要求,如下:

https://img1.sycdn.imooc.com//climg/6264caf509115b1203530197.jpg

同学的思路有些复杂,建议参考如下思路调整:

1、使用push方法,将a的值添加到数组b中

2、结合spilce方法,将数组中的第一项删除并以数组形式返回,赋值给a

3、通过索引获取到数组中的值,并赋值给b

https://img1.sycdn.imooc.com//climg/6264cba1092e814107900409.jpg

https://img1.sycdn.imooc.com//climg/6264cba909780d9204180168.jpg

祝学习愉快~

  • 提问者 慕粉1234567890123 #1

    为啥交换后,document.write(b)的页面输出结果是[object Object],也就是建值对的数组用document.write输出的都是[object Object]

    2022-04-24 20:49:42
  • 同学你好,因为document.write()方法会将参数转成字符串格式输出到页面,而对象转成字符串默认返回结果为[object Object],所以最终页面中输出的b的结果为[object Object]

    这属于固定语法,了解下即可

    祝学习愉快!

    2022-04-25 10:12:23
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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