1 splice()
1.1 說明
splice() 方法向/從數組中添加/删除項目,然後傳回被删除的項目。該方法會改變原始數組。Link
1.2 文法
arrayObject.splice(index,howmany,item1,.....,itemX)
參數
- index: 必需。整數,規定添加/删除項目的位置,使用負數可從數組結尾處規定位置。
- howmany: 必需。要删除的項目數量。如果設定為 0,則不會删除項目。
- item1, ..., itemX: 可選。向數組添加的新項目。
傳回值
- Array: 包含被删除項目的新數組,如果有的話。
1.3 示例
//添加項目
(function(){
var arr = [0, 1, 2, 3, 4];
arr.splice(1, 0, 9, 10); //索引位置/ 删除數量/ 可選, 添加項目, 可多個
console.log(arr); //[0, 9, 10, 1, 2, 3, 4]
}());
//删除項目
(function(){
var arr = [0, 1, 2, 3, 4];
arr.splice(1, 2);
console.log(arr); //[0, 3, 4]
}());
//删除并添加項目
(function(){
var arr = [0, 1, 2, 3, 4];
arr.splice(1, 2, 9, 10, 11);
console.log(arr); //[0, 9, 10, 11, 3, 4]
}());
2 slice()
2.1 說明
slice() 方法可從已有的數組中傳回標明的元素。該方法并不會修改數組,而是傳回一個子數組。
2.2 文法
arrayObject.slice(start,end)
- start: 必需。規定從何處開始選取。如果是負數,那麼它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。
- end: 可選。規定從何處結束選取。該參數是數組片斷結束處的數組下标。如果沒有指定該參數,那麼切分的數組包含從 start 到數組結束的所有元素。如果這個參數是負數,那麼它規定的是從數組尾部開始算起的元素。
2.3 示例
//截取中間一段
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(1, 3); //從索引1開始到索引3之前, 不包括索引3的項目
console.log(arrS); //[1, 2]
}());
//截取中間到最後
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(1); //end為空, 從索引1開始到結束
console.log(arrS); //[1, 2, 3, 4]
}());
//擷取最後一個項目
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(-1); // -1個項目到最後, -1即最後一個, -2倒數第二個
console.log(arrS); //[4]
}());
//排除最後一個項目
(function(){
var arr = [0, 1, 2, 3, 4];
arrS = arr.slice(0, -1); // 第一個到第-1個, 不包含第-1個(最後一個)
console.log(arrS); //[0, 1, 2, 3]
}());