Chenjingxvan 2022-04-07 11:27 采纳率: 68.8%
浏览 213
已结题

JS splice方法不执行


<script>
            var arr=['sky','wind','snow','sun'];
            arr.splice(2,2);//从数组下标2的位置开始,删掉两个元素
            console.log(arr);
            arr.splice(1,1,'snow');//从数组下标1的位置开始,删除1个元素后,再添加snow元素
            console.log(arr);
            arr.splice(4,0,'hail','sun');//指定下标4大于数组的长度,则直接在数组末尾添加hail和sun元素
            console.log(arr);
            arr.splice(3,0,['lala','yaya'],null,undefined,[]);//从数组下标3的位置开始,添加数组、null、undefined和空数组
            console.log(arr);
        </script>

img

为什么前三个splice不执行,结果都是最后一个splice方法的结果

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2022-04-07 11:45
    关注

    数组是对象,对象打印到控制台,展开后得到是当前对象的值

    要看当时的值,可以用JSON.stringify转为普通类型字符串就可以看到内容了,如下

    img

    
    <script>
        var arr = ['sky', 'wind', 'snow', 'sun'];
        arr.splice(2, 2);//从数组下标2的位置开始,删掉两个元素
        console.log(JSON.stringify(arr));
        arr.splice(1, 1, 'snow');//从数组下标1的位置开始,删除1个元素后,再添加snow元素
        console.log(JSON.stringify(arr));
        arr.splice(4, 0, 'hail', 'sun');//指定下标4大于数组的长度,则直接在数组末尾添加hail和sun元素
        console.log(JSON.stringify(arr));
        arr.splice(3, 0, ['lala', 'yaya'], null, undefined, []);//从数组下标3的位置开始,添加数组、null、undefined和空数组
        console.log(JSON.stringify(arr));
    </script>
    
    
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月7日
  • 已采纳回答 4月7日
  • 创建了问题 4月7日