关于数组和字符串的一些处理方法的记录

时间:2023-01-07 10:40:40

array:

slice(),splice(),

arr.slice(start,end),返回一个包括起始位置和结束位置之前的项新数组,

例:arr = [1,2,3,4,5,6,7];

arr.slice(2,4);//返回[3,4];

若只有一个参数则返回从该位置开始到整个原数组结束的内容,

arr.slice(2);//[2,3,4,5,6,7];

 

特殊情况:参数为负数,用该参数加上数组长度来重新确定相应位置,若加上数组长度值仍未负,则等同于0进行处理,例:

arr.slice(-9);//[1,2,3,4,5,6,7];

arr.slice(-9,3);//[1,2,3];

arr.slice(-3,-2);//相当于arr.slice(4,5),返回[5];

若start值大于end值,则返回空数组。

splice(),可进行删除,插入,替换的操作,

1,指定两个参数,执行删除操作,参数一为要删除的第一项位置,第二个参数为要删除的项数,返回删除的部分,例:

arr.splice(2,3);//即从数组第二项(数组项数从零开始计数)开始,删掉三项,即返回[3,4,5];执行此操作后,arr=[1,2,6,7]

特殊情况,若第一个参数为负数,处理方法也是给该参数加上该数组长度,重新计算位置再进行操作,若参数二为0或者负数,相当于删除零项,即返回空数组,原数组不会变化;

2,指定三个参数,分别为起始位置,0(要删除的项数),要插入的项,第三个参数可以包括很多项,此操作会改变原数组。例:

arr.splice(2,0,"一",“二”,“三”);//此操作直接返回空数组,但操作结束后arr=[1,2,一,二,三,3,4,5,6,7];

特殊情况:起始位置若为负值,则同上

3,若在同一位置即删除又插入,则相当于替换,也就是相对于插入操作,第二个参数值不为零,例:

arr.splice(2,2,"yi","er","san");//从数组第2项开始删除两项,并插入第三个参数所包含的三项,也即用“yi”“er”"san",替换掉原数组中的3,4,此操作直接返回包含被删除的项的数组,即[3,4],此操作后,原数组变为[1,2,"yi","er","san",5,6,7];

总结:splice()操作会返回被删除的项,若无被删除项则返回空数组,执行此操作会直接改变原数组

 

与上述方法比较相似的是字符串的操作方法split()

语法为:stringObject.split(separator,howmany)

将字符串用某种正则表达式分割成数组。