日期與數組與字符串的方法複習總結

一 Date對象

1 Date函數接收時間戳

​ date.getTime()​ date​ date.valueOf()//返回值 : date 的毫秒錶示。返回值和方法 Date.getTime 返回的值相等。

​ Date.parse() 方法可解析一個日期時間字符串,並返回 1970/1/1 午夜距離該日期時間的毫秒數。​ 以上輸出一串數字(1970年01月1日0點零分以來的毫秒數),該串數字可與隨機數配合生成獨特id

2 Date

1 Date對象的創建: new Date()

以下四種方法同樣可以創建 Date 對象:

var d = new Date();
var d = new Date(milliseconds);
var d = new Date(dateString);
var d = new Date(year, month, day, hours, minutes, seconds, milliseconds);

2 Date 對象屬性

constructor 返回對創建此對象的 Date 函數的引用。
prototype
使您有能力向對象添加屬性和方法。

3 Date對象方法

方法
描述
getDate()
從 Date 對象返回一個月中的某一天 (1 ~ 31)。
getDay()
從 Date 對象返回一週中的某一天 (0 ~ 6)。
getFullYear()
從 Date 對象以四位數字返回年份。
getHours()
返回 Date 對象的小時 (0 ~ 23)。
getMilliseconds()
返回 Date 對象的毫秒(0 ~ 999)。
getMinutes()
返回 Date 對象的分鐘 (0 ~ 59)。
getMonth()
從 Date 對象返回月份 (0 ~ 11)。
getSeconds()
返回 Date 對象的秒數 (0 ~ 59)。
getTime()
返回 1970 年 1 月 1 日至今的毫秒數。
getTimezoneOffset()
返回本地時間與格林威治標準時間 (GMT) 的分鐘差。
getUTCDate()
根據世界時從 Date 對象返回月中的一天 (1 ~ 31)。
getUTCDay()
根據世界時從 Date 對象返回週中的一天 (0 ~ 6)。
getUTCFullYear()
根據世界時從 Date 對象返回四位數的年份。
getUTCHours()
根據世界時返回 Date 對象的小時 (0 ~ 23)。
getUTCMilliseconds() 根據世界時返回 Date 對象的毫秒(0 ~ 999)。
getUTCMinutes()
根據世界時返回 Date 對象的分鐘 (0 ~ 59)。
getUTCMonth()
根據世界時從 Date 對象返回月份 (0 ~ 11)。
getUTCSeconds()
根據世界時返回 Date 對象的秒鐘 (0 ~ 59)。
getYear()
已廢棄。 請使用 getFullYear() 方法代替。
parse()
返回1970年1月1日午夜到指定日期(字符串)的毫秒數。
setDate()
設置 Date 對象中月的某一天 (1 ~ 31)。
setFullYear()
設置 Date 對象中的年份(四位數字)。
setHours()
設置 Date 對象中的小時 (0 ~ 23)。
setMilliseconds()
設置 Date 對象中的毫秒 (0 ~ 999)。
setMinutes()
設置 Date 對象中的分鐘 (0 ~ 59)。
setMonth()
設置 Date 對象中月份 (0 ~ 11)。
setSeconds()
設置 Date 對象中的秒鐘 (0 ~ 59)。
setTime()
setTime() 方法以毫秒設置 Date 對象。
setUTCDate()
根據世界時設置 Date 對象中月份的一天 (1 ~ 31)。
setUTCFullYear()
根據世界時設置 Date 對象中的年份(四位數字)。
setUTCHours()
根據世界時設置 Date 對象中的小時 (0 ~ 23)。
setUTCMilliseconds() 根據世界時設置 Date 對象中的毫秒 (0 ~ 999)。
setUTCMinutes()
根據世界時設置 Date 對象中的分鐘 (0 ~ 59)。
setUTCMonth()
根據世界時設置 Date 對象中的月份 (0 ~ 11)。
setUTCSeconds()
setUTCSeconds() 方法用於根據世界時 (UTC) 設置指定時間的秒字段。
setYear()
已廢棄。請使用 setFullYear() 方法代替。
toDateString()
把 Date 對象的日期部分轉換爲字符串。
toGMTString()
已廢棄。請使用 toUTCString() 方法代替。
toISOString()
使用 ISO 標準返回字符串的日期格式。
toJSON()
以 JSON 數據格式返回日期字符串。
toLocaleDateString() 根據本地時間格式,把 Date 對象的日期部分轉換爲字符串。
toLocaleTimeString() 根據本地時間格式,把 Date 對象的時間部分轉換爲字符串。
toLocaleString()
據本地時間格式,把 Date 對象轉換爲字符串。
toString()
把 Date 對象轉換爲字符串。
toTimeString()
把 Date 對象的時間部分轉換爲字符串。
toUTCString()
根據世界時,把 Date 對象轉換爲字符串。
UTC()
根據世界時返回 1970 年 1 月 1 日 到指定日期的毫秒數。
valueOf()
返回 Date 對象的原始值。

二 數組對象

push():向數組的末尾添加一個或多個元素

定義和用法

push() 方法可向數組的末尾添加一個或多個元素,並返回新的長度。

注意: 新元素將添加在數組的末尾。

注意: 此方法改變數組的長度。

提示: 在數組起始位置添加元素請使用 unshift() 方法。

數組中添加新元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.push("Kiwi")

fruits 結果輸出:

Banana,Orange,Apple,Mango,Kiwi

pop():移除最後一個數組元素

定義和用法

pop() 方法用於刪除數組的最後一個元素並返回刪除的元素。

注意:此方法改變數組的長度!

提示: 移除數組第一個元素,請使用 shift() 方法。

移除最後一個數組元素

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.pop();
fruits 結果輸出:

Banana,Orange,Apple

unshift() :將新項添加到數組起始位置:

定義和用法

unshift() 方法可向數組的開頭添加一個或更多元素,並返回新的長度。

注意: 該方法將改變數組的數目。

提示: 將新項添加到數組末尾,請使用 push() 方法。

將新項添加到數組起始位置:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon","Pineapple");
fruits 將輸出:

Lemon,Pineapple,Banana,Orange,Apple,Mango

shift():從數組中移除元素:

定義和用法

shift() 方法用於把數組的第一個元素從其中刪除,並返回第一個元素的值。

注意: 此方法改變數組的長度!

提示: 移除數組末尾的元素可以使用 pop() 方法。

從數組中移除元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.shift()

fruits結果輸出:
Orange,Apple,Mango

小練習:

         // 練習1: 將數組第一個元素移動到數組最後
        /* var arr = ['a', 'b', 'c'];
        arr.push( arr.shift() );
        console.log(arr); */
    
    
        // 練習2: 將數組最後一個元素移動到數組最前面
        var arr = ['a', 'b', 'c'];
        arr.unshift( arr.pop() );
        console.log(arr);

splice()方法:添加或刪除數組中的元素:

定義和用法

splice() 方法用於添加或刪除數組中的元素。

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

語法

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

參數 Values

參數
描述
index
必需。規定從何處添加/刪除元素。 該參數是開始插入和(或)刪除的數組元素的下標,必須是數字。
howmany
可選。規定應該刪除多少元素。必須是數字,但可以是 "0"。 如果未規定此參數,則刪除從 index 開始到原數組結尾的所有元素。
item1, ..., itemX 可選。要添加到數組的新元素

返回值

Type
描述
Array 如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。


數組中添加新元素:


var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,0,"Lemon","Kiwi");
fruits 輸出結果:

Banana,Orange,Lemon,Kiwi,Apple,Mango


實例
移除數組的第三個元素,並在數組第三個位置添加新元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,1,"Lemon","Kiwi");
fruits 輸出結果:

Banana,Orange,Lemon,Kiwi,Mango


實例
從第三個位置開始刪除數組後的兩個元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.splice(2,2);
fruits 輸出結果:

Banana,Orange

        // 1 刪除功能:例如刪除數組中的bcd
        var arr = ['a', 'b', 'c', 'd', 'e'];
        /*  var result = arr.splice(1, 3);
        console.log(arr);   //輸出: [a,e]
        console.log(result); //輸出: [b,c,d] */

        /* var result = arr.splice(2, 1);
        console.log(arr, result); // [a,b,d,e]['c'] */
         // 2 修改功能:例如將bc修改爲xyz
        /* var arr = ['a', 'b', 'c', 'd', 'e'];
        var result = arr.splice(1, 2, 'x', 'y', 'z');
        console.log(arr, result); */

        // 3 新增功能:例如,在a後添加xyz
        //   - 注意:參數1應當設置爲添加後第一個元素所處的索引值
        // var arr = ['a', 'b', 'c', 'd', 'e'];
        // var result = arr.splice(1, 0, 'x', 'y', 'z');
        // console.log(arr);
        // console.log(result); // []

slice方法:從已有的數組中返回選定的元素。

定義和用法

slice() 方法可從已有的數組中返回選定的元素。

slice()方法可提取字符串的某個部分,並以新的字符串返回被提取的部分。

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

提示: 如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最後一個字符,-2 指倒數第二個字符,以此類推。

實例
在數組中讀取元素:

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var citrus = fruits.slice(1,3);
citrus 結果輸出:

Orange,Lemon

實例
使用負值從數組中讀取元素

var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];
var myBest = fruits.slice(-3,-1);
myBest 結果輸出:

Lemon,Apple

語法

array.slice(start, end)

參數值

參數
描述
start 可選。規定從何處開始選取。如果是負數,那麼它規定從數組尾部開始算起的位置。也就是說,-1 指最後一個元素,-2 指倒數第二個元素,以此類推。
end
可選。規定從何處結束選取。該參數是數組片斷結束處的數組下標。如果沒有指定該參數,那麼切分的數組包含從 start 到數組結束的所有元素。如果這個參數是負數,那麼它規定的是從數組尾部開始算起的元素。

返回值

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

concat()方法

定義和用法

concat() 方法用於連接兩個或多個數組。

該方法不會改變現有的數組,而僅僅會返回被連接數組的一個副本。

語法

array1.concat(array2,array3,...,arrayX)

參數

參數
描述
array2, array3, ..., arrayX 必需。該參數可以是具體的值,也可以是數組對象。可以是任意多個。

返回值

Type
描述
Array 對象 返回一個新的數組。該數組是通過把所有 arrayX 參數添加到 arrayObject 中生成的。如果要進行 concat() 操作的參數是數組,那麼添加的是數組中的元素,而不是數組。

菜鳥代碼:

實例
合併三個數組的值:

var hege = ["Cecilie", "Lone"];
var stale = ["Emil", "Tobias", "Linus"];
var kai = ["Robin"];
var children = hege.concat(stale,kai);
children 輸出結果:

Cecilie,Lone,Emil,Tobias,Linus,Robin

案例代碼

<script>
        /* var arr = [1, 2, 3];
        arr.push('a', 'b', ['x', 'y']);
        console.log(arr);
         */

        // concat() 演示
        /* var arr = [1, 2, 3];
        var result = arr.concat('a', 'b', ['x', 'y', 'z']);
        console.log(arr);
        console.log(result); // [1, 2, 3, "a", "b", "x", "y", "z"] */

        // 通常使用時,只會傳入數組形式的參數,用來進行數組的元素連接
        var arr1 = [1, 2, 3];
        var arr3 = ['a', 'b', 'c'];
        var arr4 = ['x', false, true];
        var result = arr1.concat(arr3, arr4, [10, 20, 30]);
        console.log(result); 
    </script>

面試題

一道面試題:傳遞兩個參數m,n,返回長度爲m,所有元素都爲n的數組,要求不能用循環。

利用函數的遞歸和 concat() 方法可以實現,代碼如下:

function fn(m, n) {
  return m ? fn(m - 1, n).concat(n) : [];
}

indexOf()方法:

定義和用法

indexOf() 方法可返回數組中某個指定的元素位置。

該方法將從頭到尾地檢索數組,看它是否含有對應的元素。開始檢索的位置在數組 start 處或數組的開頭(沒有指定 start 參數時)。如果找到一個 item,則返回 item 的第一次出現的位置。開始位置的索引爲 0。

如果在數組中沒找到指定元素則返回 -1。

提示如果你想查找字符串最後出現的位置,請使用 lastIndexOf() 方法。

語法:

array.indexOf(item,start)

參數值

參數
描述
item
必須。查找的元素。
start 可選的整數參數。規定在數組中開始檢索的位置。它的合法取值是 0 到 stringObject.length - 1。如省略該參數,則將從字符串的首字符開始檢索。

返回值:

類型
描述
Number 查找指定字符串第一次出現的位置,如果沒找到匹配的字符串則返回 -1。

菜鳥代碼:

實例
查找數組中的 "Apple" 元素:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
a 結果輸出:

2


實例
查找數組中 "Apple" 的元素, 在數組的第四個位置開始檢索:

var fruits=["Banana","Orange","Apple","Mango","Banana","Orange","Apple"];
var a = fruits.indexOf("Apple",4);
a 結果輸出:

6

案例代碼

<script>
        var arr = ['a', 'b', 'a', 'c', 'd', 'a', 'f', 'a', 'c', 'd', 'a', 'f', 'a', 'c', 'd', 'a', 'f', 'a', 'c', 'd', 'a', 'f'];
        /* var index = arr.indexOf('a', 0);
        console.log(index); // 0
    
        // 繼續往後查找
        index = arr.indexOf('a', index   1);
        console.log(index); // 2

        index = arr.indexOf('a', index   1);
        console.log(index); // 5

        index = arr.indexOf('a', index   1);
        console.log(index); // 7 */


        // 使用while循環簡化代碼
        /* var index = arr.indexOf('a', 0);
        console.log(index); // 0

        // 如果後面還存在a,才需要繼續重複查找
        while (arr.indexOf('a', index   1) !== -1) {
            index = arr.indexOf('a', index   1);
            console.log(index);
        } */
    
        // 使用do..while改進while的代碼
        var index = -1; // 爲了讓do中的第一次取值爲0,湊數將index初始值設置爲-1
        do {
            index = arr.indexOf('a', index   1);
            console.log(index);
        } while (arr.indexOf('a', index   1) !== -1);

    </script>

reserve()方法

定義和用法

reverse() 方法用於顛倒數組中元素的順序。

實例
顛倒數組中元素的順序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.reverse();
fruits 結果輸出:

Mango,Apple,Orange,Banana

sort()方法

定義和用法

sort() 方法用於對數組的元素進行排序。

排序順序可以是字母或數字,並按升序或降序。

默認排序順序爲按字母升序。

注意:當數字是按字母順序排列時"40"將排在"5"前面。

使用數字排序,你必須通過一個函數作爲參數來調用。

函數指定數字是按照升序還是降序排列。

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

返回值

Type
描述
Array 對數組的引用。請注意,數組在原數組上進行排序,不生成副本。

菜鳥代碼:

實例
數組排序:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.sort();
fruits 輸出結果:

Apple,Banana,Mango,Orange

實例
數字排序(數字和升序):

var points = [40,100,1,5,25,10];
points.sort(function(a,b){return a-b});
fruits輸出結果:

1,5,10,25,40,100

實例
數字排序(數字和降序):

var points = [40,100,1,5,25,10];
points.sort(function(a,b){return b-a});
fruits輸出結果:

100,40,25,10,5,1

案例代碼:

        // var arr = [1, 4, 2, 6, 3, 12, 23, 22, 18, 9];
        // 如果希望對數值數組正常排序,需要設置參數:
        //   - 升序參數:
        //     -  function (a, b) { return a - b }
        //   - 降序參數
        //     - function (a, b) { return b - a }
        /* arr.sort(function (a, b) {
            return b - a;
        });
        console.log(arr); */

對sort()實現方式的分析:

 <script>
        // var arr = [1, 4, 2, 6, 3, 12, 23, 22, 18, 9];
        // 如果希望對數值數組正常排序,需要設置參數:
        //   - 升序參數:
        //     -  function (a, b) { return a - b }
        //   - 降序參數
        //     - function (a, b) { return b - a }
        

        // 通過冒泡排序的實現分析參數的設置方式:
        function mySort (arr, fn) {
            for (var i = 0; i < arr.length - 1; i  ) {
                for (var j = 0; j < arr.length - i - 1; j  ) {
                    /*
                        升序格式:
                            arr[j] > arr[j   1]
                            arr[j] - arr[j   1] > 0
                        降序格式:
                            arr[j] < arr[j   1]
                            arr[j   1] > arr[j]
                            arr[j   1] - arr[j] > 0
                    */
                    
                    if (fn(arr[j], arr[j   1]) > 0) {
                        var temp = arr[j];
                        arr[j] = arr[j   1];
                        arr[j   1] = temp;
                    }
                }
            }
        }

        var arr = [1, 4, 2, 6, 3, 12, 23, 22, 18, 9];
        // 自帶的方法可以寫成arr.sort() 我們的mySort不是自帶的,就不能那麼寫
         mySort(arr, function (a, b) {
            return b - a;
        });
         
        /* mySort(arr, function (a, b) {
            return b - a;
        }); */
        
        console.log(arr);
    
    
    </script>

toString()

定義和用法

toString() 方法可把數組轉換爲字符串,並返回結果。

注意: 數組中的元素之間用逗號分隔。

實例
將數組轉換爲字符串:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
fruits.toString();
fruits將輸出:

Banana,Orange,Apple,Mango

join()

定義和用法

join() 方法用於把數組中的所有元素轉換一個字符串。

元素是通過指定的分隔符進行分隔的。

語法:

array.join(separator)

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

返回值

類型
描述
String 返回一個字符串。該字符串是通過把 arrayObject 的每個元素轉換爲字符串,然後把這些字符串連接起來,在兩個元素之間插入 separator 字符串而生成的。

菜鳥代碼

實例
把數組中的所有元素轉換爲一個字符串:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join();
energy輸出結果:

Banana,Orange,Apple,Mango

實例
使用不同的分隔符:

var fruits = ["Banana", "Orange", "Apple", "Mango"];
var energy = fruits.join(" and ");
energy 結果輸出:

Banana and Orange and Apple and Mango

案例代碼

        // join() 
        //  - 參數:連接符,默認爲逗號,連接
        //  - 返回值:連接後的字符串
        var arr = [1, 2, 3];
        console.log( arr.join() ); // '1,2,3'
        console.log( arr.join('-') ); // '1-2-3'
        console.log( arr.join('abc') ); // '1abc2abc3'
        console.log( arr.join('') ); // '123'

三 字符串的操作方法

charAt()

定義和用法

charAt() 方法可返回指定位置的字符。

第一個字符位置爲 0, 第二個字符位置爲 1,以此類推.

菜鳥代碼

實例
返回字符串中的第三個字符:

var str = "HELLO WORLD";
var n = str.charAt(2)
n輸出結果:

L


實例
返回字符串中的最後一個字符:

var str = "HELLO WORLD";
var n = str.charAt(str.length-1);
n 返回值:

D

案例代碼:

<script>
        // 字符串也可以根據索引操作

        // 方式1: []操作方式
        var str = 'abcdefg';
        // console.log(str[1]); // 'b'
        // console.log(str[4]); // 'e'

        /* str[0] = 'z';
        console.log(str);  */// 'abcdefg' 無法修改,體現了字符串的不可變性
    
        // 遍歷字符串
        /* for (var i = 0; i < str.length; i  ) {
            console.log(str[i]);
        } */
        
        // 方式2:字符串.charAt(索引值)
        // console.log( str.charAt(2) ); // 'c'
        for (var i = 0; i < str.length; i  ) {
            console.log(str.charAt(i));
        }
    
    
    </script>

slice()

定義和用法

slice(start, end) 方法可提取字符串的某個部分,並以新的字符串返回被提取的部分。

使用 start(包含) 和 end(不包含) 參數來指定字符串提取的部分。

字符串中第一個字符位置爲 0, 第二個字符位置爲 1, 以此類推。

提示: 如果是負數,則該參數規定的是從字符串的尾部開始算起的位置。也就是說,-1 指字符串的最後一個字符,-2 指倒數第二個字符,以此類推。

用法與數組的slice()方法相似

        // 1 slice()
        /* var str = 'abcdefg';
        console.log(str.slice(1, 4));
        // console.log(str.slice());
        console.log(str); */




實例
提取所有字符串:

var str="Hello world!";
var n=str.slice(0);
以上實例輸出結果:

Hello world!
    
 實例
從字符串的第3個位置提取字符串片段:

var str="Hello world!";
var n=str.slice(3);
以上實例輸出結果:

lo world!
    
實例
從字符串的第3個位置到第8個位置直接的字符串片段:

var str="Hello world!";
var n=str.slice(3,8);
以上實例輸出結果:

lo wo


實例

只提取第1個字符:

var str="Hello world!";
var n=str.slice(0,1);
以上實例輸出結果:

H


實例
提取最後一個字符:

var str="Hello world!";
var n=str.slice(-1);
以上實例輸出結果:

!

substring()

與slice()作用較爲相似,,但不包括結束處的字符。類似數學上的[ ) 這樣的區間

定義和用法

substring() 方法用於提取字符串中介於兩個指定下標之間的字符。

substring() 方法返回的子串包括 開始 處的字符,但不包括 結束 處的字符。

語法:

string.substring(from, to)

參數 描述
from 必需。一個非負的整數,規定要提取的子串的第一個字符在 string Object 中的位置。
to
可選。一個非負的整數,比要提取的子串的最後一個字符在 string Object 中的位置多 1。 如果省略該參數,那麼返回的子串會一直到字符串的結尾。

        // 2 substring() 使用方式與前面的slice一樣
        /* var str = 'abcdefg';
        console.log(str.substring(1, 4));
        console.log(str.substring());
        console.log(str); */

substr()

定義和用法

substr() 方法可在字符串中抽取從 開始 下標開始的指定數目的字符。

提示: substr() 的參數指定的是子串的開始位置和長度,因此它可以替代 substring() 和 slice() 來使用。

注意: substr() 方法不會改變源字符串。

語法

string.substr(start,length)

參數
描述
start
必需。要抽取的子串的起始下標。必須是數值。如果是負數,那麼該參數聲明從字符串的尾部開始算起的位置。也就是說,-1 指字符串中最後一個字符,-2 指倒數第二個字符,以此類推。
length 可選。子串中的字符數。必須是數值。如果省略了該參數,那麼返回從 stringObject 的開始位置到結尾的字串。

返回值

類型
描述
String 返回一串包含文本提取部分的新字符串

菜鳥代碼

實例
抽取指定數目的字符:

var str="Hello world!";
var n=str.substr(2,3)
n 輸出結果:

llo

實例
在本例中,我們將使用 substr() 從字符串第二個位置中提取一些字符:
var str="Hello world!";
var n=str.substr(2)
n 輸出結果:

llo world!

提一筆

slice()和substring()方法 括號裏的參數都是(start,end),即開始時的數組下標到結束時的數組下標,而substr()方法 括號裏的參數是(start,length),即開始目標的下標和截取字符長度(截取幾個字符寫多少),所以相對愛建substr表較好用

indexOf()

定義和用法

indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。

如果沒有找到匹配的字符串則返回 -1。

注意: indexOf() 方法區分大小寫。

提示: 同樣你可以查看類似方法 lastIndexOf() 。

語法:

string.indexOf(searchvalue,start)

參數值

參數
描述
searchvalue 必需。規定需檢索的字符串值。
start
可選的整數參數。規定在字符串中開始檢索的位置。它的合法取值是 0 到 string Object.length - 1。如省略該參數,則將從字符串的首字符開始檢索。

返回值:

類型
描述
Number 查找指定字符串第一次出現的位置,如果沒找到匹配的字符串則返回 -1。

菜鳥代碼:

實例
查找字符串 "welcome":

var str="Hello world, welcome to the universe.";
var n=str.indexOf("welcome");
n 輸出結果:

13


實例
在字符串查找字符 "e" 第一次出現的位置:

var str="Hello world, welcome to the universe.";
var n=str.indexOf("e");
n 輸出結果:

1

實例
在字符串第五個位置開始查找字符 "e" 第一次出現的位置:

var str="Hello world, welcome to the universe.";
var n=str.indexOf("e",5);
n 輸出結果:

14

案例代碼

    <script>
        // var str = 'ab123c321abc213abc123dwabda';
        /* console.log( str.indexOf('a') ); // 0
        console.log( str.indexOf('a', 1) ); // 9
        console.log( str.indexOf('a', 10) ); // 15
        */
        // 與數組一樣,可以通過while和do..while循環改進

        // 注意點:
        //  1 檢索字符串中的多個字符組成部分, 返回的是首字符的索引
        /* var str = 'abc123c321abc213abc123dwada';
        console.log(str.indexOf('abc')); // 0
        console.log(str.indexOf('abc', 1)); // 10 */
        
        //  2 如果使用indexOf檢索空字符串'',一定返回0
        var str = 'abcdefg';
        console.log(str.indexOf('')); // 0
    </script>

toUpperCase()

        /* var str = 'abcdefgABC123';
        console.log(str.toUpperCase());
        console.log(str); */

toLowerCase()

        /* var str = 'ABECDEabc123';
        console.log(str.toLowerCase());
        console.log(str); */

replace()

定義和用法

replace() 方法用於在字符串中用一些字符替換另一些字符,或替換一個與正則表達式匹配的子串。

該方法不會改變原始字符串。

語法

string.replace(searchvalue,newvalue)

參數

參數
描述
searchvalue 必須。規定子字符串或要替換的模式的 RegExp 對象。 請注意,如果該值是一個字符串,則將它作爲要檢索的直接量文本模式,而不是首先被轉換爲 RegExp 對象。
newvalue
必需。一個字符串值。規定了替換文本或生成替換文本的函數。

返回值

String 一個新的字符串,是用 replacement 替換了 regexp 的第一次匹配或所有匹配之後得到的。


實例
在本例中,我們將執行一次替換,當第一個 "Microsoft" 被找到,它就被替換爲 "Runoob":

var str="Visit Microsoft! Visit Microsoft!";
var n=str.replace("Microsoft","Runoob");
n 輸出結果:

Visit Runoob!Visit Microsoft!
    
實例
執行一個全局替換:

var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/g,"red");
n 輸出結果:

Mr Blue has a red house and a red car


實例
執行一個全局替換, 忽略大小寫:

var str="Mr Blue has a blue house and a blue car";
var n=str.replace(/blue/gi, "red");
n 輸出結果:

Mr red has a red house and a red car

/*
因爲replace替換方法一次只能替換一次,所以要在文本中進行所有替換就需要循環了(看案例代碼),但循環也是比較麻煩的,所以我們可以用正則表達式來進行全局替換

這裏補充一下正則表達式replace替換
/表達式/[修飾符]
g:全局匹配
i:忽略大小寫
gi:全局 忽略
*/
//這個可以應用於屏蔽敏感詞

案例代碼

<script>
        var str = 'a-b-c-d';
        // 例如希望將str中的-換成|
        //  - 注意只能替換從左往右找到的第一段內容
        /* console.log(str.replace('-', '|'));
        console.log(str); */

        // console.log(str.replace('-', '|'));
        // console.log(str.replace('-', '|').replace('-', '|').replace('-', '|'));
    
        // 通過while循環替換字符串中的所有-
        while (str.indexOf('-') !== -1) {
            // 進行替換操作即可
            str = str.replace('-', '|');
        }
        console.log(str);

    </script>

split()

定義和用法

split() 方法用於把一個字符串分割成字符串數組。

提示: 如果把空字符串 ("") 用作 separator,那麼 stringObject 中的每個字符之間都會被分割。

注意: split() 方法不改變原始字符串。

語法

string.split(separator,limit)

參數
描述
separator 可選。字符串或正則表達式,從該參數指定的地方分割 string Object。
limit
可選。該參數可指定返回的數組的最大長度。如果設置了該參數,返回的子串不會多於這個參數指定的數組。如果沒有設置該參數,整個字符串都會被分割,不考慮它的長度。

返回值

類型
描述
Array 一個字符串數組。該數組是通過在 separator 指定的邊界處將字符串 string Object 分割成子串創建的。返回的數組中的字串不包括 separator 自身。

菜鳥代碼

實例
省略分割參數:

var str="How are you doing today?";
var n=str.split();
n 輸出數組值得結果:

How are you doing today?
    
    
 實例
分割每個字符,包括空格:

var str="How are you doing today?";
var n=str.split("");
n 輸出數組值得結果:

H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
    
    
    
    
 實例
使用 limit 參數:

var str="How are you doing today?";
var n=str.split(" ",3);
n 將輸出3個數組的值:

How,are,you


實例
使用一個字符作爲分隔符:

var str="How are you doing today?";
var n=str.split("o");
n 輸出數組值得結果:

H,w are y,u d,ing t,day?

案例代碼

    <script>
        // var str = 'a-b-c-d-e';
        // console.log(str.split('-'));
        // console.log(str.split()); // 不傳參數沒有意義
        // console.log(str.split('')); // 傳入空字符串,將每個字符分隔

        // 與數組的join方法結合使用:
        // 1 替換字符串中的部分內容
        var str = 'a-b-c-d-e'; // 將字符串中的-替換爲|
        console.log(str.split('-'));
        console.log(str.split('-').join('|'));


        // 2 刪除字符串中的部分內容
        /* var str = 'a-b-c-d-e'; // 將字符串中的-刪除
           console.log(str.split('-').join('')); */
    </script>

trim()

定義和用法

trim() 方法用於刪除字符串的頭尾空格。

trim() 方法不會改變原始字符串。

語法

string.trim()

返回值

類型
描述
String 返回移除頭尾空格的字符串。

菜鳥代碼

實例
去除字符串的頭尾空格:

var str = "       Runoob        ";
alert(str.trim());
輸出結果:

Runoob

案例代碼

        var str = '  jack  ';
        console.log(str.trim());
        console.log(str);

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