js删除数组中某一项或几项的几种方法,splice() 、 slice()以及delete 方法的区别

时间:2022-05-26 21:26:58

splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目。

**注意:该方法会改变原始数组。

**注意,splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改

(一):js中的splice方法

     splice(index,len,[item])    注释:该方法会改变原始数组。

splice有3个参数,它也可以用来替换/删除/添加数组内某一个或者几个值

index:数组开始下标        len: 替换/删除的长度       item:替换的值,删除操作的话 item为空

如:arr = ['a','b','c','d']

删除 ----  item不设置

arr.splice(1,1)   //['a','c','d']         删除起始下标为1,长度为1的一个值,len设置的1,如果为0,则数组不变

arr.splice(1,2)  //['a','d']          删除起始下标为1,长度为2的一个值,len设置的2

替换 ---- item为替换的值

arr.splice(1,1,'ttt')        //['a','ttt','c','d']         替换起始下标为1,长度为1的一个值为‘ttt’,len设置的1

arr.splice(1,2,'ttt')        //['a','ttt','d']         替换起始下标为1,长度为2的两个值为‘ttt’,len设置的1

 

添加 ----  len设置为0,item为添加的值

arr.splice(1,0,'ttt')        //['a','ttt','b','c','d']         表示在下标为1处添加一项‘ttt’

看来还是splice最方便啦

-------------------------------------------------------------------------------------------------------------------------------------------

(二):delete       delete删除掉数组中的元素后,会把该下标出的值置为undefined,数组的长度不会变

如:delete arr[1]  //['a', ,'c','d']     中间出现两个逗号,数组长度不变,有一项为undefined

-------------------------------------------------------------------------------------------------------------------------------------------

(三):slice() 方法    slice() 方法可从已有的数组中返回选定的元素。

arrayObject.slice(start,end)

返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素