JS陣列slice()和splice()的用法和區別
阿新 • • 發佈:2020-12-10
技術標籤:javascriptjs
JS陣列slice()和splice()的區別
slice()
var a=["a","b","c","d","e"];
console.log(a.slice(1,3)); //結果:"b" ,"c"
//表示從1開始,截止到第三個,包含第三個,不包括第一
console.log(a); //結果:"a","b","c","d","e"
console.log(a.slice(-1)); //結果:"e"
// 如果start是負數,則會從陣列尾部開始算起。
console.log(a.slice(0,-1)); //結果:"a","b","c","d"
//獲取除了最後1個元素以外的全部元素
slice()定義:從已有的陣列中返回你選擇的某段陣列元素
slice()語法:arrayObject.slice(start,end)
注:
①:start表示從何處開始選取,end表示從何處開始結束選取,表示一個選取的範圍
②:start可以為負數,此時它規定從陣列尾部開始算起的位置。也就是-1 ,指最後一個元素,-2 指倒數第二個元素,以此類推
④:slice()方法只會返回一個淺複製了原陣列中的元素的一個新陣列,不改變原來陣列,而是返回所選取範圍的陣列元素。如果想刪除陣列中的某一個元素,需要使用splice()
splice()
var a=["a","b","c","d","e"];
console.log(a.splice(0,3)); //結果:‘a”,“b',"c"
//index:開始位置的索引,count:要刪除元素的個數
console.log(a); //結果:"d","e"
//改變原來陣列
console.log(a.splice(2,0,"hello")); //結果:"a", "b", "hello", "c", "d", "e"
//從第3個元素開始不刪除元素,並在第3個元素前面新增1個元素hello
console.log(a.splice(2,1,"hello")); //結果: "a", "b", "hello", "d", "e"
//從第3個元素開始且刪除1個元素,並在原來第3個元素的位置新增1個元素hello
console.log(a.splice(-1,0,"hello")); //結果:"a", "b", "c", "d", "hello", "e"
//從最後1個元素開始且不刪除元素,同時在最後1個元素前面新增1個元素hello
console.log(a.splice(-1,1,"hello")); //結果:"a","b","c","d","hello"
// 從最後1個元素開始並刪除最後1個元素,同時在刪除的最後1個元素的位置新增1個元素hello
splice()定義:從陣列中新增或刪除元素,然後返回被刪除的陣列元素。
splice()語法:arrayObject.splice(index,howmany,item1,…,itemX)
注:
①:index表示從什麼位置開始新增或刪除陣列元素
②:howmany表示刪除的元素數量,如果為0,則表示不刪除陣列元素
③:item1,…,itemX表示新增的陣列元素
④:splice()方法會改變原始陣列
slice:是擷取用的
splice:是做刪除 新增用的