1. 程式人生 > >javascript中的slice()和splice()的使用

javascript中的slice()和splice()的使用

slice(start,end):從已有的陣列中返回選定的元素。括號內有兩個引數,第一個引數為start,第二個引數為end。

 start引數是必須的,規定從何處開始選取。如果是負數,那麼規定它從陣列尾部開始算起的位置,也就是說,

-1表示從最後一個元素開始選取,-2表示從倒數第二個元素開始選取。

end引數是可選的,規定從何處結束選取。該引數一樣可以為負數。

一個數組物件經過slice(start,end)操作後,會返回一個新的陣列,返回從start(包含)到end(不包含)

之間的所有元素內容。注意:對原陣列物件不產生任何影響。

示例:

var array2=["d","e","f"];

document.write(array2.slice(1,2)+"<br/>");//e
document.write(array2.slice(1,3)+"<br/>");//e,f
document.write(array2.slice(0,2)+"<br/>");//d,e

splice(index,howmany,item1,item2..itemX):從陣列中新增/刪除專案,然後返回被刪除的專案,括號內有3個引數部分。

會改變原始陣列(操作的陣列物件)。

index引數,是必須的。規定新增/刪除專案的位置,使用負數則從尾部規定位置。

howmany引數,也是必須的。規定要刪除專案的數量,為0則不刪除。

item1,item2,itm3,...itemX引數,是可選的。向陣列中新增新專案(替換部分)。

示例:

var array3=["xx","ss","dd","mm","pp"];
document.write("splice()方法的使用:"+"<br/>");
//從陣列索引位置為1處開始刪除,刪除1個元素,並返回刪除的該元素,輸出“ss”
document.write(array3.splice(1,1)+"<br/>");
//經上一步操作後,被運算元組物件的長度會發生變化(減1),輸出4
document.write(array3.length+"<br/>");

//此時被運算元組中還有4個元素,為["xx","dd","mm","pp"]
//從陣列索引位置為0處開始刪除,刪除2個元素,並返回刪除的元素部分,輸出“xx,dd”
document.write(array3.splice(0,2)+"<br/>");
//此時被運算元組中還有2個元素,為["mm","pp"]
//從陣列索引位置為1處開始刪除,刪除2個元素,並返回該刪除的元素部分,輸出“pp”
//注意:可以刪除2個元素,但刪除1個元素後已經到達陣列的末尾,不再進行刪除。這裡第二個引數在效果上其實等同於指定為1。
document.write(array3.splice(1,2)+"<br/>");

var array4=["x","s","w","a","d"];
//從陣列索引位置為1處開始刪除,刪除2個元素,返回該刪除的元素部分,輸出“s,w”,
// 並將替換部分(第三個引數部分)代入到被刪除的部分,即陣列中["s","w"]的部分變成了["hhh","bbb"]
document.write(array4.splice(1,2,"hhh","bbb")+"<br/>");//第三個引數部分為(item1,item2,...,itemX)
//所以此處陣列長度依然是5
document.write(array4.length+"<br/>");
//輸出內容為“x,hhh,bbb,a,d”
document.write(array4);