1. 程式人生 > >區分slice、splice、split、join方法

區分slice、splice、split、join方法

關於字串和陣列的方法,我們經常會用到,下面就詳細的區分下slice、splice、split、join方法,加深下記憶並做個筆記。

slice (陣列)

  • 定義和用法

    slice()方法提取部分的陣列元素,返回包含提取元素的新陣列,不會改變原陣列。

  • 語法

    arrayObject.slice(start,end)

    引數
    start(必選): 指定提取部分的開始下標,可為負數(負數時從陣列的尾部開始計算,如:-1為陣列的最後一項,-2 指倒數第二個元素,以此類推。)

    end(可選): 指定提取部分的結束下標(擷取部分不包含end下標的元素,截止到下標為(end-1)的元素),沒有end時,預設擷取陣列包含從start到陣列結束的所有元素,也可為負數(負數時從陣列的尾部開始計算,如:-1為陣列的最後一項,-2 指倒數第二個元素,以此類推。)

    警告:當start與end間,無任何元素時,返回 [] 空陣列。

  • 例子

    // 例子
    var a = [10, 20, 30, 40, 50];
    a.slice(1); // [20, 30, 40, 50]
    a.slice(-3); // [30, 40, 50]
    a.slice(-7); // [10, 20, 30, 40, 50]
    a.slice(5); // []
    a.slice(1, 4); // [20, 30, 40]
    a.slice(1, -2); // [20, 30]
    a.slice(1, 7); // [20, 30, 40, 50]
    a.slice(1, -7); // []
    

slice (字串)

  • 定義和用法

    slice()方法提取部分的字串, 返回一個包含提取字元的新字串,不會改變原字串。

  • 語法

    stringObject.slice(start, end)

    引數
    start (必選),end (可選),與陣列相同, 無任何字元時,返回空字串。

  • 例子

    // 例子
    var str = 'how are you ?';
    str.slice(1,  -3);  // 'ow are yo'

splice (陣列)

  • 定義和用法

    splice()方法從陣列中刪除一個或多個元素,在刪除元素位置新增一個或多個元素,返回一個包含所刪除元素的新陣列。註釋:該方法會改變原陣列。

  • 語法

    arrayObject.splice(start, deleteNumber, item1,… )

    引數
    start(必選):刪除元素的開始位置,可為負數,負數從陣列的尾部開始計算。

    deleteNumber(必選):刪除元素的個數(number), 為0時,不刪除任何元素。

    item1, …., itemX (可選):新增的新元素,沒有該項時,不會新增任何元素。

  • 例子

    // 例子
    var a = [10, 20, 30, 40, 50];
    a.splice(1, 2, 'hello', [100, 200]); // 返回 [20, 30]
    console.log(a); // [10, 'hello', [100, 200], 40, 50]

split (字串)

  • 定義和用法

    split()方法在指定的位置,將字串分割成字串陣列, 返回字串陣列, 不會改變原字串。

  • 語法

    stringObject.split(separator, maxLength)

    引數
    separator (必選) :分割字串的指定位置(字串或正則表示式),為(”)空字元時,字串的每個字元都將被分割。

    maxLength(可選) : 返回字串陣列的最大長度(number), 需返回陣列的一部分使用此項。沒有時,返回整個字串分割的陣列,不考慮長度。

  • 例子

    // 例子
    var str = 'how are you ?';
    str.split(' '); // ['how', 'are', 'you', '?']
    str.split('o'); // ['h', 'w are y', 'u ?']
    str.split('', 3); // ['h', 'o', 'w']

join (陣列)

  • 定義和用法

    join()方法將陣列中的所有元素以特定分割符分割,放入到一個字串中。返回一個字串,不會改變原陣列。

  • 語法

    arrayObject.join(separator)

    引數
    separator (可選) : 指定的分割符,不設定該項,預設以逗號分割。

  • 例子

    // 例子
    var arr = [1, 2, 3, 4, 5, 'AA'];
    arr.join(); // '1,2,3,4,5,AA'
    arr.join('/'); // '1/2/3/4/5/AA'