傻傻分不清的 slice,split 和splice

每次使用的時候我都要懷疑一遍自己是不是弄混淆了,就寫一個筆記加深一下印象吧!

split() 把字符串分割爲字符串數組

返回值:

一個字符串數組,該數組是通過  指定的形式將字符串分割成子串創建,返回的數組中不包括字符串本身。


   //以空格的 分割字符串 str ,將句子分割成單詞
    var str = 'Hello World!';
    str.split(' ');  // ["Hello","World"]
    str.split(/\s+/);
    
    // 將單詞切割成字母
    var word ='Hello';
    word.split(""); // ["H", "e", "l", "l", "o"]

    //切割 url
    var url = 'name=zhang&age=23&sex=1&num=130403060';
    url.split('&'); // ["name=zhang", "age=23", "sex=1", "num=130403060"]

split()一般用在處理 請求的url地址,cookie等地方。在這裏就需要提一下數組的 join() 方法,它的作用和 split()相反,是將數組元素通過某個符號連接成字符串。

slice() 從數組中選取自定的元素,返回一個新的數組,不會修改數組本身;字符串也有該方法,作用相同

    var arr = ['json','ajax','xml','click','addEventListener'];
    arr.slice(); //不傳參數,默認返回數組本身  ['json','ajax','xml','click','addEventListener']
    arr.slice(1);//從第一個開始選取,返回一個新的數組,包含選取的全部元素 ['ajax','xml','click','addEventListener']
    arr.slice(1, 4);//從第一個參數指定的位置開始選取,選取截止到第二個參數所指位置,不包含該參數所指位置的元素 ['ajax','xml','click']
    arr.slice(-2,-1); //傳入負數時,就反方向選取  ['click','addEventListener']

    // 字符串也有 slice()方法,使用參數和數組差不多
    var str ="Hello World!zhang";
    str.slice(1); // ello World!zhang

splice 向數組中添加或者刪除元素,然後返回被刪除的元素數組 ,是修改數組本身的

    // splice() 方法向數組中添加|從數組刪除項目,然後返回被刪除的項目。
    var arr = ['json','ajax','xml','click','addEventListener'];
    arr.splice(3); //返回被刪除的元素數組 ['click','addEventListener']
    
    arr.splice(3, 5, "error", "yes");//向數組中 3,5之間的元素被新元素替換
    console.log(arr);  //['json','ajax','xml','error','yes']
splice 和slice 根本的區別就是,slice不會修改數組本身,但是splice會修改數組。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章