1. 程式人生 > >slice 和splice

slice 和splice

var arr=["a","b","c","d","e","f"];

 

splice(index,num,item)方法對陣列或字串做刪除,修改,新增操作,第一位引數可正可負,為正表示正著數,為負則表示倒著數,第二位引數,要操作元素的個數,第三位引數,需要新增到陣列的元素

var result1=arr.splice(2);//只給一位引數,下標位置起,後邊所有元素被刪除,並將刪除元素返回 
此時結果:result1=["c","d","e","f"];arr=["a","b"]
var result2=arr.splice(2,0);//第二個引數為0,不會做任何修改,返回結果為空
var result3=arr.splice(2,2);//下標位置起,刪除後2個元素,並返回刪除元素 
此時結果:result3=["c", "d"];arr=["a", "b", "e", "f"]
var result4=arr.splice(1,0,"g");//下標位置後新增元素“g”,返回結果為空 
此時結果:result4=[];arr=["a", "g", "b", "c", "d", "e", "f"]

var result5=arr.splice(1,3,"g");//下標位置後,先刪除後3個元素並返回刪除元素,再向陣列新增元素“g”

此時結果:result5=["b", "c", "d"];arr=["a", "g", "e", "f"]

var result6=arr.splice(-2);//給一位引數且為負數,從陣列最末倒數,刪除2個元素,並返回結果 
此時結果result6=["e", "f"];arr=["a", "b", "c", "d"]

 

 

slice(start,end)方法從陣列或字串中返回選定的元素,只返回結果,不作修改,此方法有兩個引數,第一個表示開始位置;第二個,表示終點位置

var result1=arr.slice(0,2);//0下標開始,2下標結束

此時結果:result1=["b", "c", "d"];arr=["a","b","c","d","e","f"]

var result2=slice(2);//獲取下標以後所有的元素

此時結果:result2=["c", "d", "e", "f"]

var result3=slice(-3);//獲取倒數3個元素,下標從最後一個元素開始

var result4=slice(-5,-3);//起點下標為倒數第五個開始,到倒數第四個的距離,即時是倒數,也是從0開始