首先解释下本节要记录的功能:js数组删除指定位置的的元素,或者在指定位置插入元素,或者替换某个位置的元素;
splice:该方法是Array对象中最强大的方法,以上所有功能,用该方法都可以实现;
删除:删除可以从指定位置开始,可以删除一个或者连续几个元素,具体如下:
连续删除:
删除注意:当参数超出数组下标时,会发生什么?
由此可见,当后一个参数超出下标时,会从指定位置开始删除直至数组末尾,全部删除;当第一个参数超出下标时,数组不变,我们的猜想:当splice方法接收到参数时,和数组长度比较,当位置参数超出下标,直接不做处理,当要删除的元素个数 + 位置参数 > 数组length,会删除“位置”之后的所有元素;
插入:从指定位置开始插入要插入的项,至少三个参数,第一个位置信息,第二个参数 0,第三个乃至第n个参数为要插入的项;
替换:本质是先在”指定位置“(第一个参数)删除“指定数量的项”(第二个参数),然后插入“任意数量的项“(第三个乃至第n个参数),替换其实是插入的第二个参数不为0的结果,它的特殊情况与删除的特殊情况相同:
最后注意:splice方法实在改变原数组的基础上进行操作的;
最后说一句:简单的事情重复做就是不简单,平凡的事情重复做,就是不平凡---坚持;