1. 程式人生 > >js中陣列的操作方法

js中陣列的操作方法

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個引數:起始位置、要刪除的項數、和要插入的任意數量的項。