slice()和splice()區別


1.slice(start,end):方法可從已有數組中返回選定的元素,返回一個新數組,包含從start到end(不包含該元素)的數組元素。

注意:該方法不會改變原數組,而是返回一個子數組,如果想刪除數組中的一段元素,應該使用Array.splice()方法。

start參數:必須,規定從何處開始選取,如果為負數,規定從數組尾部算起的位置,-1是指最后一個元素。
end參數:可選(如果該參數沒有指定,那么切分的數組包含從start倒數組結束的所有元素,如果這個參數為負數,那么規定是從數組尾部開始算起的元素)。

 

var arr = [1,2,3,4,5]; console.log(arr.slice(1));//[2,3,4,5] 選擇序列號從1到最后的所有元素組成的新數組。
console.log(arr.slice(1,3))//[2,3] 不包含end,序列號為3的元素

 

同時slice(start,end)可以作用於字符串的切割

/*字符串切割和提取----slice(start,end),substring(),substr()*/

var str = "Hello,world!"; var sliceStr = str.slice(1,5);//ello (不包含end)
var subStr = str.substring(1,5);//ello
var subStr = str.substr(1,5);//ello,
var str = "1000000"; var sliceStr = str.slice(-3);//000 從序列號為-3的位置到最后

 

2.splice():該方法向或者從數組中添加或者刪除項目,返回被刪除的項目。該方法會改變原數組

splice(index,howmany,item1,...itemX)

index參數:必須,整數,規定添加或者刪除的位置,使用負數,從數組尾部規定位置。
howmany參數:必須,要刪除的數量,如果為0,則不刪除項目。
tem1,...itemX參數:可選,向數組添加的新項目。

var arr = [1,2,3,4,5]; console.log(arr.splice(2,1,"hello"));//[3] 返回的新數組
console.log(arr);//[1, 2, "hello", 4, 5] 改變了原數組

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM