js數組/字符串方法

 

js數組方法筆記

數組方法中會不會改變原數組的方法

concat()-----連接兩個或者多個數組,不會改變原數組

//concat()----數組拼接
    var arr1 = [1],arr2 = [2],arr3 = [3],arr4 = [4];
    var arr5 = arr1.concat(arr2); //兩個連接-數組arr1與arr2連接,結果[1,2]
    var arr6 = arr1.concat(arr2, arr3, arr4); //多數組連接,結果[1,2,3,4]
    var arr7 = arr1.concat(arr2, arr3, arr4, [6, 7]); //多數組與自定義數組連接,結果[1,2,3,4,6,7]
console.log(arr5)
console.log(arr6)
console.log(arr7)
console.log(arr1)

截圖

join()-----將數組轉換成字符串,並用指定字符隔開,不改變原數組

//join()---數組轉字符串,並用指定字符隔開---不改變原數組
    var arr = [1, 2, 3, 4, 5, 6];
    var str = arr.join(",");
    console.log(str, arr); //1,2,3,4,5,6  [1, 2, 3, 4, 5, 6]
    console.log(arr.join(",")); //數組轉換成字符串,使用逗號隔開,結果:1,2,3,4,5
    console.log(arr.join("")); //數組轉換成字符串,結果:123456

截圖:

slice(start,end)---截取數組start到end,start:起始位置(包含起始位置),end:結束位置(不包含結束位置),原數組不發生改變

結束位置可不加,那截取的就是start到數組的最後一位

 如果起始位置爲負數,那麼就從數組最後一位往前計算,-1:表示數組的最後一位,-2:數組的倒數第二位,以此類推(注:如果取

負數,那麼就沒有結束位置,否則截取到的數組爲空)

    //slice(start,end)---截取數組start到end,start:起始位置(包含起始位置),end:結束位置(不包含結束位置),原數組不發生改變
    //結束位置可不加,那截取的就是start到數組的最後一位
    //如果起始位置爲負數,那麼就從數組最後一位往前計算,-1:表示數組的最後一位,-2:數組的倒數第二位,以此類推(注:如果取負數,那麼就沒有結束位置,否則截取到的數組爲空)
    var arr = [1, 2, 3, 4, 5, 6, 7];
    var arr2 = arr.slice(2, 5);
    var arr3 = arr.slice(-1);
    console.log(arr3, arr2, arr); //[7]   [3,4,5]   [1,2,3,4,5,6,7]

截圖:

toString()---將數組轉換成字符串,使用逗號分隔,原數組不發生改變

    //toString()---將數組轉換成字符串,使用逗號分隔,原數組不發生改變
    var arr = [1, 2];
    console.log(arr.toString(), arr); //1,2    [1, 2]

toLocaleString()---數組轉字符串,使用逗號分隔,原數組不會發生改變

     //toLocaleString---數組轉字符串,使用逗號分隔,原數組不會發生改變
    var arr = [1, 2];
    console.log(arr.toLocaleString(), arr);//1,2    [1, 2]

 

數組方法中會改變原數組的方法

pop()---刪除數組最後一位數,改變原數組,原數組最後一位刪除,length-1

//pop()---刪除數組最後一位數,改變原數組,原數組最後一位刪除,length-1
    var arr = [1, 2, 3, 4, 5, 6];
    var arr1 = arr.pop();
    console.log(arr); //[1, 2, 3, 4, 5];
    console.log(arr1); //6

截圖:

push()----數組末尾新增一個或多個元素,改變原數組,新數組爲原數組和新增元素的集合

var arr = [1, 2];
    arr.push("測試");
    console.log(arr);//[1,2,"測試"]

截圖:

reverse()---顛倒數組順序,原數組會發生改變

    //reverse()---顛倒數組順序,原數組會發生改變
    var arr = ["a", "b", "v", "d"]; //原數組
    var arr1 = arr.reverse();
    console.log(arr); //["d", "v", "b", "a"]
    console.log(arr1); //["d", "v", "b", "a"]

截圖:

shift()-----刪除數組的第一個元素,原數組發生改變

    //shift---刪除數組的第一個元素,改變原數組
    var arr = [1, 2, 3, 4, 5, 6, 7];
    var arr2 = arr.shift();
    console.log(arr2, arr);//1   [2,3,4,5,6,7]

截圖:

sort()-----數組排序,sort的括號裏面接的必須是一個方法,原數組會發生改變,變成排序之後的結果

    //sort()----數組排序,sort的括號裏面接的必須是一個方法,原數組會發生改變,變成排序之後的結果
    var arr = [1, 3, 4, 6, 89, 90, 67];
    function storby(a, b) {//使用普通的方法進行排序
      return b - a;
    }
    console.log(arr.sort(storby)); //[90, 89, 67, 6, 4, 3, 1]
    console.log(arr); //[90, 89, 67, 6, 4, 3, 1]
    var arr1 = arr.sort((a, b) => b - a); //使用箭頭函數的方式排序
    console.log(arr1); //[90, 89, 67, 6, 4, 3, 1]
    // console.log(arr.sort((a, b) => b - a)); //數組排序,大到小排序--[1, 3, 4, 6, 67, 89, 90]
    console.log(arr.sort()); //從小到大排序----[1, 3, 4, 6, 67, 89, 90]

截圖:

splice()---向數組中刪除/新增/替換元素,原數組會發生改變

    //splice---向數組中刪除/新增元素,原數組會發生改變
    var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];
    //var arr2 = arr.splice(1, 4);//刪除數組中index 1-4的位置,起始位置和結束位置都包含
    var arr3 = arr.splice(-1, 6, "12"); //刪除數組中index  1-3的位置,並從1的位置添加一個字符串元素 12
    //console.log(arr, arr2); //[1, 6, 7, 8, 9]     [2, 3, 4, 5]
    console.log(arr, arr3); //[1, "12", 5, 6, 7, 8, 9]    [2, 3, 4]

 unshift()----向數組起始位置添加一個或多個元素,原數組發生改變,返回新數組的length

    //unshift()----向數組起始位置添加一個或多個元素,原數組發生改變,返回新數組的length
    var arr = [1, 2];
    console.log(arr.unshift(1, 2, 3, 4), arr);//6    [1, 2, 3, 4, 1, 2]

 

js字符串方法

indexOf()----查找指定文本或者數組中某個元素是否存在(或者在字符串中首次出現的位置),如果存在就返回該數組的下標,不存在就返回-1

    //indexOf()----查找數組中某個元素是否存在(在字符串中首次出現的位置),如果存在就返回該數組的下標,不存在就返回-1
    var arr = [1, 2];
    var str = "hello world!";
    console.log(arr.indexOf(1));//0
    console.log(str.indexOf("l")); //2
    console.log(arr.indexOf(8));//-1

  lastIndexOf()----查找指定文本或者數組中某個元素是否存在(或者在字符串中最後一次出現的位置),如果存在就返回該數組的下標,不存在就返回-1

    //lastIndexOf()----查找文本或者數組中某個元素是否存在(或者在字符串中最後一次出現的位置),如果存在就返回該數組的下標,不存在就返回-1
    var arr = [1, 2, 1, 3, 4, 5, 6, 2];
    var str = "hello world!";
    console.log(arr.lastIndexOf(2)); //7
    console.log(str.lastIndexOf("l")); //9
    console.log(str.lastIndexOf("m")); //-1

search()----搜索指定文本在字符串中出現的位置,不管裏面有幾個相同的,從前往後搜索到即停止搜索,搜索到則返回指定文本下標,沒搜索到則返回-1;

與indexOf用法基本相同

不同的是indexOf可對數組進行操作,但是search不能對數組進行操作

search可用於正則表達式中,indexOf不能

    //search()----搜索指定文本在字符串中出現的位置,不管裏面有幾個相同的,從前往後搜索到即停止搜索,搜索到返回指定文本下標,沒搜索到返回-1;
    //與indexOf相同,不同的是indexOf可對數組進行操作,但是search不能對數組進行操作
    var str = "hello world!";
    var arr = [1, 2, 3];
    console.log(str.search("l")); //2
    console.log(str.search("m")); //-1
    //console.log(arr.search(1)); //arr.search is not a function

slice(start,end)----截取字符串的某一部分,從start位開始截取到end位(包括起始位置不包括結束位置),可以是負數,當爲負數的時候,就是從最後一位(-1)開始一直到第一位(-length),ie8及更早的版本不支持負數

    //slice()----截取字符串的某一部分
    var str = "hello world";
    console.log(str.slice(1, 3), str); //el   hello world
    console.log(str.slice(-9, -3)); //llo wo,從倒數第9位截取到倒數第三位
    console.log(str.slice(-9)); //llo world,從倒數第9位開始截取後面所有的

substring(strat,end)----截取字符串的某一部分,start位開始截取到end位(包括起始位置不包括結束位置),與slice方法類似,但是不能接收負數

    var str = "hello world";
    console.log(str.substring(1, 3), str); //el   hello world

substr(start,length)----截取字符串的某一部分,start開始截取到length個(包括起始位置),與slice方法類似,可以接收負數

    //substr(start,length)----截取字符串的某一部分,與slice方法類似
    var str = "hello world";
    console.log(str.substr(1, 3), str); //ell     hello world
    console.log(str.substr(-9, 3)); //llo 從倒數第9位開始向後截取3位
    console.log(str.substr(-9)); //llo world,從倒數第9位開始截取後面所有的

 

未完待續...

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