天天看點

js中splice()、slice()、substring() 、substr()、join()用法

記錄一下。。。

1、splice()方法:用于插入、删除或替換數組的元素。

    注意:這種方法會改變原始數組

    文法:

    array.splice(index,howmany,item1,.....,itemX)

    參數:

    index   必需。規定從何處添加/删除元素。

            該參數是開始插入和(或)删除的數組元素的下标,必須是數字。

    howmany 必需。規定應該删除多少元素。必須是數字,但可以是 "0"。

            如果未規定此參數,則删除從 index 開始到原數組結尾的所有元素。

    item1, ..., itemX   可選。要添加到數組的新元素

    傳回值:

    Array   如果從 arrayObject 中删除了元素,則傳回的是含有被删除的元素的數組。

    執行個體:

    1、移除數組的第三個元素,并在數組第三個位置添加新元素:

    var fruits = ["Banana", "Orange", "Apple", "Mango"];

    fruits.splice(2,1,"Lemon","Kiwi");  //Banana,Orange,Lemon,Kiwi,Mango

    2、從第三個位置開始删除數組後的兩個元素:

    var fruits = ["Banana", "Orange", "Apple", "Mango"];

    fruits.splice(2,2);  //Banana,Orange

2、slice() 方法:從已有的數組中傳回標明的元素 或者 可提取字元串的某個部分,并以新的字元串傳回被提取的部分

    注意: slice() 方法不會改變原始數組。

    文法:

    array.slice(start, end)

    參數:

    start   可選。規定從何處開始選取。如果是負數,那麼它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。

    end 可選。規定從何處結束選取。該參數是數組片斷結束處的數組下标。如果沒有指定該參數,那麼切分的數組包含從 start 到數組結束的所有元素。

        如果這個參數是負數,那麼它規定的是從數組尾部開始算起的元素。

    傳回值:

    Array   傳回一個新的數組,包含從 start 到 end (不包括該元素)的 arrayObject 中的元素。

    執行個體:

    1、使用負值從數組中讀取元素:

    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];

    var myBest = fruits.slice(-3,-1);  //Lemon,Apple

    2、截取字元串:

    var str="www.runoob.com!";

    document.write(str.slice(4)+"<br>"); // 從第 5 個字元開始截取到末尾

    document.write(str.slice(4,10)); // 從第 5 個字元開始截取到第10個字元

3、substring() 方法:用于提取字元串中介于兩個指定下标之間的字元【傳回的子串包括 開始 處的字元,但不包括 結束 處的字元】

    文法:

    string.substring(from, to)

    參數:

    from    必需。一個非負的整數,規定要提取的子串的第一個字元在 string Object 中的位置。

    to  可選。一個非負的整數,比要提取的子串的最後一個字元在 string Object 中的位置多 1。

        如果省略該參數,那麼傳回的子串會一直到字元串的結尾。

    執行個體:

    var str="Hello world!";

    document.write(str.substring(3)+"<br>");  //lo world!

    document.write(str.substring(3,7));  //lo w

4、substr() 方法:可在字元串中抽取從 start 下标開始的指定數目的字元。

    文法:

    stringObject.substr(start,length)

    參數:

    start   必需。要抽取的子串的起始下标。必須是數值。如果是負數,那麼該參數聲明從字元串的尾部開始算起的位置。也就是說,-1 指字元串中最後一個字元,-2 指倒數第二個字元,以此類推。

    length  可選。子串中的字元數。必須是數值。如果省略了該參數,那麼傳回從 stringObject 的開始位置到結尾的字串。

    傳回值:

    一個新的字元串,包含從 stringObject 的 start(包括 start 所指的字元) 處開始的 length 個字元。如果沒有指定 length,那麼傳回的字元串包含從 start 到 stringObject 的結尾的字元。

    執行個體:

    var str="Hello world!"

    document.write(str.substr(3));  //lo world!

    document.write(str.substr(3,7));  //lo worl

5、join() 方法:用于把數組中的所有元素放入一個字元串【元素是通過指定的分隔符進行分隔的】

    文法:

    arrayObject.join(separator)

    參數:

    separator   可選。指定要使用的分隔符。如果省略該參數,則使用逗号作為分隔符。

    傳回值:

    傳回一個字元串。該字元串是通過把 arrayObject 的每個元素轉換為字元串,然後把這些字元串連接配接起來,在兩個元素之間插入 separator 字元串而生成的。

    執行個體:

    var arr = new Array(3);

    arr[0] = "George";

    arr[1] = "John";

    arr[2] = "Thomas";

    var arr2 = new Array(3);

    arr2[0] = "abc";

    arr2[1] = "def";

    arr2[2] = "ghijkl";

    document.write(arr.join());  //George,John,Thomas

    document.write(arr2.join("."));  //abc.def.ghijkl

繼續閱讀