1. 程式人生 > 其它 >js陣列和字串方法

js陣列和字串方法

一.陣列方法

1.1.可以改變原陣列

var arr = [10, 20, 30, 40, 50, 55];
        // 1. **** push() --- 在陣列的最後新增一項內容 
        // var ret = arr.push("60");
        // 返回值是新增之後的陣列長度(一般不用)


        // 2. pop() --- 在陣列的最後刪除一項內容 
        // var ret = arr.pop();
        // 返回值是刪除項


        // 3. unshift() --- 在陣列的前面新增一項內容 
        // var ret = arr.unshift("66");
        // 返回值是新增之後的陣列長度(一般不用)


        // 4.shift() --- 在陣列的前面刪除一項內容 
        // var ret = arr.shift();
        // 返回值是刪除項


        // 5. reverse()------翻轉原陣列
        // var ret = arr.reverse();
        // 返回值是翻轉後的陣列


        // 6. splice(index,n,引數1,引數2) -------- 切割/刪除/新增  陣列
        /*
            index  起始索引
            n      個數
            引數1,引數2    新增到陣列中的內容
        */
        // 6.1 刪除陣列中的項(只傳一個引數)
        //   功能: 從索引index開始,到結尾    全部刪除掉
        //   返回值: 刪除的內容
        // var ret = arr.splice(1);

        // 6.2 ****** 清空陣列
        // var ret = arr.splice(0);

        // 6.3 ****** 切割陣列 (傳兩個引數)
        // 返回值是 從index開始切割n個字元
        // 改變了原陣列,原陣列刪除了這些內容
        // var ret = arr.splice(2, 2);


        // 6.4 刪除之後,新增陣列的項-----操作原陣列
         // 返回值是 從index開始切割n個字元
        // var ret = arr.splice(2, 2, 300, 400, 500);

1.2.不改變原陣列 

  var arr = [10, 20, 30, 40, 50, 10];
        // 1. slice(start,end)   從索引start 開始 切割到索引end   切割陣列的
        // var ret = arr.slice(2, arr.length);


        // 2. indexOf(第一個出現的字元)     獲取索引
        // var ret = arr.indexOf(10);
        // ******* 注意點: 如果找不到這個元素,會得到-1
        // 實現功能:檢測陣列中有沒有這個元素 
        // var ret = arr.indexOf(100);


        // 3. join("字元")  陣列轉字串通過某個**字元**連結
        // var ret = arr.join(" ");


        // 4. 一組方法(難)------遍歷陣列

        var arr1 = [
            { name: "張三", score: 50 },
            { name: "李四", score: 80 },
            { name: "王麻子", score: 100 }
        ]


        // 4.1 ******* forEach 遍歷陣列(取代for迴圈遍歷陣列)   沒有返回值
        //  arr1.forEach(function (item, index) {
        //     // item 陣列中的項  index 索引
        //     console.log(item, index);
        // });


        // 4.2 ***** map 遍歷陣列  有返回值-------每次返回的結果打包成陣列 整體返回
        // 重點,現階段有點難
        /* var ret = arr1.map(function (item, index) {
            // item 陣列中的項  index 索引
            console.log(item, index);


            // 內部手動return
            return item.name;
        }); */


        // 4.3 **** filter  遍歷陣列(過濾器)   有返回值-------return後面是一個表示式, 過濾有效資料 整體返回
        // 重點,現階段有點難
        var ret = arr1.filter(function (item, index) {
            // item 陣列中的項  index 索引
            console.log(item, index);


            // 內部手動return  
            return item.score > 60;
        });
        console.log(ret);

二.字串方法

// 1. ******* split()  字串切割並轉陣列
        /* var str1 = "1,2,3,4";
        var arr = str1.split(",");
        console.log(arr); */

        // 2. charAt  獲取字元
        /* var str = "張三是一個法外狂徒";
        // 字串頂天了叫他偽陣列
        // console.log(str[0]);
        // console.log(str.length);

        var ret = str.charAt(1);
        console.log(ret);
        console.log(str[1]); */


        // 3. ****** indexOf()------ 和陣列的使用,一模一樣
        // 用來判斷字串中有沒有這個字元
        /* var str = "張三是一個法外狂徒";
        var ret = str.indexOf("s");
        console.log(ret); */


        // 4. substring(start,end)------- 從索引start 開始 切割到索引end   擷取 字串 
        /* var str = "張三是一個法外狂徒";
        var ret = str.substring(1, 4);
        console.log(ret); */


        // 5. substr(index,n)------- 從索引start 開始 切割n個字元    擷取 字串 
        /* var str = "張三是一個法外狂徒";
        var ret = str.substr(2, 7);
        console.log(ret); */


        // 6. ***** replace(old,new)-------- 使用新字元替換老字元
        var str = "張三是一個法外狂徒";
        var ret = str.replace("張三", "李四");
        console.log(ret);