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)
将字符串用某种正则表达式分割成数组。