老师,这里是 不是需要把对象转换为数组

老师,这里是 不是需要把对象转换为数组

<!DOCTYPE html>

<html>

<head>

    <meta charset="utf-8">

    <title>变量、作用域</title>

</head>

<body>

<script type="text/javascript">

    var a = {name: 'xm'}, b = [4];

    /*此处添加代码*/

    b.push(a);

    a = b[1];

    b = b[0];

   console.log(a);

   console.log(b);

</script>

</body>

</html>


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

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

1回答
好帮手慕久久 2022-04-12 09:53:49

同学你好,不是很理解同学的意思,简单给同学说一下,看能否解答疑惑。同学的写法是没法实现效果的:

https://img1.sycdn.imooc.com//climg/6254da3f095c800904500161.jpg

我们想要的效果是,a变成[4],b变成{name: 'xm'}。

b追加了a后,b变成[4,{name: 'xm'}]:

https://img1.sycdn.imooc.com//climg/6254daf709a5e8e004490038.jpg

splice方法可以删除元素,并返回删除元素所在的数组,利用它可能得到a=[4]:

https://img1.sycdn.imooc.com//climg/6254db430988207e06230165.jpg

b删除了4后,变成了[{name: 'xm'}],所以利用索引0就能获取到对象,代码如下:

https://img1.sycdn.imooc.com//climg/6254dba50947a4c206040504.jpg

祝学习愉快!

  • 提问者 dy12369 #1

     var a = {name: 'xm'}, b = [4];

        /*此处添加代码*/

        b.push(a);

        a = b[1];

        b = b[0];

    老师,这个时候a = b[1];不能获得数据吗?

    2022-04-12 11:29:39
  • 好帮手慕久久 回复 提问者 dy12369 #2

    能,但是获取的是数字4,不是数组[4]。所以要换种方式,想办法获取到[4]。

    2022-04-12 13:38:58
  • 提问者 dy12369 回复 好帮手慕久久 #3

    老师,我有个疑问

    数组调用splice(2, 3, 5 ,6)方法时,这表示从数组下标为2的位置开始替换掉三项内容,内容改为5和6,这里包含下标为2的这个值吗?

    然后调用splice(2, 3)时,表示从数组下标为2的位置开始删除三项内容,这里包含下标为2的这个值吗?

    2022-04-13 10:52:45
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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