1. 程式人生 > 其它 >JS陣列slice()和splice()的用法和區別

JS陣列slice()和splice()的用法和區別

技術標籤: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 指倒數第二個元素,以此類推

③:end如果沒有被指定引數,陣列會包含從 start 到最後一個數組元素的所有元素
④: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:是做刪除 新增用的