javascript中的slice()和splice()的使用
阿新 • • 發佈:2018-12-13
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);