js中陣列的操作方法
阿新 • • 發佈:2018-12-08
1.concat
- 不會修改原陣列, (連線)
- 這個方法會先建立當前陣列的一個副本,然後將接收到的引數新增到這個副本的末尾,最後返回新建立的陣列。
- 沒有給concat()方法傳遞引數,它只是複製當前陣列並返回副本。
- 傳遞的引數是一個或者多個數組,會將這些陣列中的每一項都新增到結果陣列中
- 傳遞的引數不是陣列,這些值就會被簡單的新增到陣列結果的末尾
var colors=["red","green","blue"];
var colors2=colors.concat("yellow",["black","brown"]);
alert(colors);//red,green,blue
alert(colors2);//red,green,blue,yellow,black,brown
2.slice()
- 不會修改原陣列,第二個引數是基於索引,(擷取)
- 基於當前陣列中的一個或者多個項建立新陣列。
- 可接受一個或者兩個引數,即要返回項的起始位置和結束位置。
- 接收一個引數的情況下,方法返回從引數指定位置開始到當前陣列末尾的所有項。
- 接收兩個引數,返回起始和結束位置之間的項,不包括結束位置的項。
- 引數中有一個負數,則用陣列長度加上改數來確定相應位置。例如 一個包含五項的陣列上呼叫 slice(-2,-1)與呼叫slice(3,4)得到的結果相同,如果結束位置小於起始位置,則返回空陣列
var colors=["red","green","blue","black","brown"];
var colors2=colors.slice(1);
var colors3=colors.slice(1,4);
alert(colors2);//green,blue,black,brown
alert(colors3);//blue,black,brown
3.splice()
- 該方法會修改原陣列,第二個引數是基於要增刪的元素的個數。(增刪改)
- 該方法始終都會返回一個數組,該陣列中包含從原陣列中刪除的項。
- 刪除:可以刪除任意數量的項,只需要傳入兩個引數,要刪除的第一項位置和要刪除的項數
- 插入:可以向指定位置插入任意數量的項,需要傳入3個(或者更多)引數:起始位置、0(要刪除的項數)、要插入的項
- 替換:可以向指定位置插入任意數量的項,且同時刪除任意數量的項,需指定3個引數:起始位置、要刪除的項數、和要插入的任意數量的項。