js数组方法splice(js数组方法filter)

js数组方法splice(js数组方法filter)p 先介绍 splice p 一 splice 方法是用来对数组进行增 删操作 该方法返回被删除的元素 改变原数组 二 splice 方法接受三个及以上的参数 第一个参数 第一个参数是起始位置 数组的索引 第二个参数 第二个参数是要删除的元素个数 如果该参数是负数则默认为 0 第三个参数及往后参数 这些参数是准备要添加进数组的参数 三 1

大家好,我是讯享网,很高兴认识大家。



 <p>先介绍splice</p> 

讯享网

一、splice()方法是用来对数组进行增、删操作,该方法返回被删除的元素,改变原数组

二、splice()方法接受三个及以上的参数: 

      第一个参数: 第一个参数是起始位置(数组的索引)

      第二个参数: 第二个参数是要删除的元素个数,如果该参数是负数则默认为0

      第三个参数及往后参数: 这些参数是准备要添加进数组的参数

三、1.如果第一个参数为正数    从索引 1 开始删除后面的所有元素包括自身

讯享网


讯享网

    2. 如果第一个参数大于最大索引值 则返回空数组

 

3. 如果第一个参数是一个负数  从数组末端开始删除元素删除的个数为参数值

讯享网

4. 如果第一个参数为负数并且该负数的绝对值要小于或等于数组长度

 

四、当有两个参数时,第一个参数为起始位置,第二个参数是要删除元素的个数,如果第二个参数为负数则默认为0

讯享网

五、原生JS手写splice()方法

六、思路

      1.  当参数只有一个时,判断该参数的特殊情况和正常情况

           特殊情况:(1).  当参数的值为undefined 那么直接将该参数赋值为0

                           (2).  当该参数的值比数组最后一个元素的索引值还大 那么直接返回一个空数组

                           (3).  当该参数为0,或者该参数的绝对值比数组的长度还大或者传递进来的不是数字,那么给最终要返回的数组赋值,并且原数组的长度设置为0

            正常情况:(1). 该参数是一个合理的正数和合理的负数,那么通过for循环给新数组赋值,减少原数组的长度

       2. 当参数有两个时,先判断第二个参数是否合理,为负数或者不是数字转换为0

           调用自定义的方法,把第一个参数传进去获取被删除的所有元素,在通过slice方法截取出第二个参数要被删除的个数

       3. 当参数有三个及以上时, 通过判断第一个参数得到一个起始位置start,如果第一个参数为负数且它的绝对值大于原数组的长度,那么起始位置就是0,否则就是原数组的长度加上第一个参数,如果第一个参数为正数且在数组最后一个元素索引的范围内,那么起始位置就是第一个参数

调用自定义方法,把前面两个参数传进去,获得被删除的元素,用(middle)表示,此时的this(原数组)就是剩余的元素,把left先赋值给最后将要返回的数组,在将middle清空,将第三个及以上的参数push进middle中,这样就得到了由新元素组成的数组,此时的原数组就是剩下的参数,通过起始位置截取this,得到end数组,在把this起始位置前的元素删除掉,那么就得到了头部(this),中间部分(middle),右边(end),再分别把中间部分和右边部分push到this中就得到了一个改变后的新数组

 

小讯
上一篇 2025-06-09 17:42
下一篇 2025-05-28 16:33

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/164980.html