JavaScript Array 對象方法 以及 如何區分javascript中的toString()、toLocaleString()、valueOf()方法

1.concat()javascript

2.join()html

3.pop()java

4.push()數組

5.reverse()函數

6.shift()post

7.unshift()編碼

8.slice()url

9.sort()spa

10.splice()code

11.toString()

12.toLocaleString()

13.valueOf()

1.concat()

做用:鏈接兩個或更多的數組,並返回結果,不改變原數組。(不改變原數組)

語法:arrayObject.concat(arrayX,arrayX,......,arrayX)

參數 描述
arrayX 必需。該參數能夠是具體的值,也能夠是數組對象。能夠是任意多個。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    var concatArry = arryA.concat(arryB);
    console.log('concat方法:'+concatArry);
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);

打印結果:

2.join()

做用:用於把數組中的全部元素放入一個字符串。元素能夠經過指定的分隔符進行分隔的。(不改變原數組)

語法:arrayObject.join(separator)

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

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    var joinString1 = arryA.join();
    var joinString2 = arryA.join('*');
    console.log('join方法:'+joinString1);
    console.log('join方法:'+joinString2);
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);

打印結果:

3.pop()

做用:用於刪除並返回數組的最後一個元素(改變原數組)

語法:arrayObject.pop()

說明

pop() 方法將刪除 arrayObject 的最後一個元素,把數組長度減 1,而且返回它刪除的元素的值。若是數組已經爲空,則 pop() 不改變數組,並返回 undefined 值。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);
    var popArry1=arryA.pop();
    var popArry2=arryB.pop();
    console.log('pop方法:'+popArry1);
    console.log('pop方法:'+popArry2);
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);

打印結果:

4.push()

做用:向數組的末尾添加一個或多個元素,並返回新的長度(改變原數組)

語法:arrayObject.push(newelement1,newelement2,....,newelementX)

參數 描述
newelement1 必需。要添加到數組的第一個元素。
newelement2 可選。要添加到數組的第二個元素。
newelementX 可選。可添加多個元素。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);
    var pushArry1=arryA.push('湯圓');
    var pushArry2=arryB.push('湯圓','傻瓜','桂圓');
    console.log('push方法:'+pushArry1);
    console.log('push方法:'+pushArry2);
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);

打印結果:

5.reverse()

做用:用於顛倒數組中元素的順序。(改變原數組)

語法:arrayObject.reverse()

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);
    var reverseArry1=arryA.reverse();
    var reverseArry2=arryB.reverse();
    console.log('reverse方法:'+reverseArry1);
    console.log('reverse方法:'+reverseArry2);
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);

打印結果:

6.shift()

做用:用於把數組的第一個元素從其中刪除,並返回第一個元素的值(改變原數組)

語法:arrayObject.shift()

說明

若是數組是空的,那麼 shift() 方法將不進行任何操做,返回 undefined 值。請注意,該方法不建立新數組,而是直接修改原有的 arrayObject。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);
    var shiftArry1=arryA.shift();
    var shiftArry2=arryB.shift();
    console.log('shift方法:'+shiftArry1);
    console.log('shift方法:'+shiftArry2);
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);

打印結果:

7.unshift()

做用:可向數組的開頭添加一個或更多元素,並返回新的長度(改變原數組)

語法:arrayObject.unshift(newelement1,newelement2,....,newelementX)

參數 描述
newelement1 必需。向數組添加的第一個元素。
newelement2 可選。向數組添加的第二個元素。
newelementX 可選。可添加若干個元素。

說明

unshift() 方法將把它的參數插入 arrayObject 的頭部,並將已經存在的元素順次地移到較高的下標處,以便留出空間。該方法的第一個參數將成爲數組的新元素 0,若是還有第二個參數,它將成爲新的元素 1,以此類推。

請注意,unshift() 方法不建立新的建立,而是直接修改原有的數組。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);
    var unshiftArry1 = arryA.unshift('湯圓', '土豆', '西紅柿');
    var unshiftArry2 = arryB.unshift('傻瓜');
    console.log('unshift方法:' + unshiftArry1);
    console.log('unshift方法:' + unshiftArry2);
    console.log('原數組:'+arryA);
    console.log('原數組:'+arryB);

打印結果:

8.slice()

做用:可從已有的數組中返回選定的元素(不改變原數組)

語法:arrayObject.slice(start,end)

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

可能你們對start、end爲負數看不太明白,那隨着小穎一塊兒看下下面的實例,但願能幫助你們理解。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組arryA:'+arryA);
    console.log('原數組arryB:'+arryB);
    var sliceArry1=arryA.slice(-3,-1);
    var sliceArry2=arryA.slice(1,3);
    var sliceArry3=arryB.slice(0, -2);
    var sliceArry4=arryB.slice(0,2);
    console.log('slice(-3,-1)方法:'+sliceArry1);
    console.log('slice(1,3)方法:'+sliceArry2);
    console.log('slice(0, -2)方法:'+sliceArry3);
    console.log('slice(0,2)方法:'+sliceArry4);
    console.log('原數組arryA:'+arryA);
    console.log('原數組arryB:'+arryB);

打印結果:

從效果圖能夠看出arryA.slice(-3,-1)和arryA.slice(1,3)返回結果同樣,arryB.slice(0, -2)和arryB.slice(0,2)返回結果同樣,其實-1就至關因而數組的最後一個元素,在小穎的實例中,arryA.slice(-3,-1),意思就是從arryA的倒數第三個元素,到arryA的倒數第一個元素,順着數下來也就是從第一個元素到第三個元素。不知道你們理解了嗎?嘻嘻

9.sort()

做用:用於對數組的元素進行排序。(改變原數組)

語法:arrayObject.sort(sortby)

參數 描述
sortby 可選。規定排序順序。必須是函數。

說明

若是調用該方法時沒有使用參數,將按字母順序對數組中的元素進行排序,說得更精確點,是按照字符編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字符串(若有必要),以便進行比較。

若是想按照其餘標準進行排序,就須要提供比較函數,該函數要比較兩個值,而後返回一個用於說明這兩個值的相對順序的數字。比較函數應該具備兩個參數 a 和 b,其返回值以下:

  • 若 a 小於 b,在排序後的數組中 a 應該出如今 b 以前,則返回一個小於 0 的值。
  • 若 a 等於 b,則返回 0。
  • 若 a 大於 b,則返回一個大於 0 的值。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = [3, 1, 7, 9, 11];
    console.log('原數組arryA:' + arryA);
    console.log('原數組arryB:' + arryB);

    function sortNumber(a, b) {
        return a - b
    }
    var sortArry1 = arryA.sort();
    var sortArry2 = arryB.sort(sortNumber);
    console.log('sort()方法:' + sortArry1);
    console.log('sort()方法:' + sortArry2);
    console.log('原數組arryA:' + arryA);
    console.log('原數組arryB:' + arryB);

打印結果:

10.splice()

做用:向/從數組中添加/刪除項目,而後返回被刪除的項目。(改變原數組)

語法:arrayObject.splice(index,howmany,item1,.....,itemX)

參數 描述
index 必需。整數,規定添加/刪除項目的位置,使用負數可從數組結尾處規定位置。
howmany 必需。要刪除的項目數量。若是設置爲 0,則不會刪除項目。
item1, ..., itemX 可選。向數組添加的新項目。

說明

splice() 方法可刪除從 index 處開始的零個或多個元素,而且用參數列表中聲明的一個或多個值來替換那些被刪除的元素。

若是從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數組。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組arryA:'+arryA);
    console.log('原數組arryB:'+arryB);
    var spliceArry1 = arryA.splice(1, 2, '湯圓', '土豆', '西紅柿');
    var spliceArry2 = arryB.splice(1, 0, '傻瓜');
    console.log('splice方法:' + spliceArry1);
    console.log('splice方法:' + spliceArry2);
    console.log('原數組arryA:'+arryA);
    console.log('原數組arryB:'+arryB);

打印結果:

11.toString()

做用:可把數組轉換爲字符串,並返回結果。(不改變原數組)

語法:arrayObject.toString()

說明

當數組用於字符串環境時,JavaScript 會調用這一方法將數組自動轉換成字符串。可是在某些狀況下,須要顯式地調用該方法。

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    var arryB = ['南瓜', '西瓜', '哈密瓜', '冬瓜'];
    console.log('原數組arryA:'+arryA);
    console.log('原數組arryB:'+arryB);
    var toStringArry1 = arryA.toString();
    var toStringArry2 = arryB.toString();
    console.log('toString方法:' + toStringArry1);
    console.log('toStringArry1 typeof:' + typeof toStringArry1);
    console.log('toString方法:' + toStringArry2 + '<br>');
    console.log('toStringArry2 typeof:' + typeof toStringArry2);
    console.log('原數組arryA:' + arryA);
    console.log('arryA typeof:' + typeof arryA);
    console.log('原數組arryB:' + arryB);
    console.log('arryB typeof:' + typeof arryB);

打印結果:

12.toLocaleString()

做用:鏈接兩個或更多的數組,並返回結果,不改變原數組。

語法:arrayObject.concat(arrayX,arrayX,......,arrayX)

說明

首先調用每一個數組元素的 toLocaleString() 方法,而後使用地區特定的分隔符把生成的字符串鏈接起來,造成一個字符串

實例:

    var arryA = ['豆豆', '仔仔', '黑妞', '琪琪'];
    console.log('原數組arryA:' + arryA);
    var toLocaleStringArry1 = arryA.toLocaleString();
    var toStringArry1 = arryA.toString();
    console.log('toLocaleString方法:' + toLocaleStringArry1);
    console.log('toString方法:' + toStringArry1);
    console.log('原數組arryA:' + arryA);

打印結果:

從打印結果看,感受toLocaleString()和toString()沒什麼區別是不?可是換個值來調用這倆結果就不同啦。啦啦啦啦啦啦

區別:

    var numberA = 123456789;
    var dateA=new Date();
    var toLocaleStringArry2 = numberA.toLocaleString();
    var toLocaleStringArry3 = dateA.toLocaleString();
    var toStringArry2 = numberA.toString();
    var toStringArry3 = dateA.toString();
    console.log('number-toLocaleString方法:' + toLocaleStringArry2);
    console.log('number-toString方法:' + toStringArry2);
    console.log('date-toLocaleString方法:' + toLocaleStringArry3);
    console.log('date-toString方法:' + toStringArry3);

打印結果:

這下看出來不同了嗎?嘻嘻

如下內容來自:區分javascript中的toString(),toLocaleString(),valueOf()方法

從方法命名上能夠知道,toString()方法獲取的是String(傳統字符串),而toLocaleString()方法獲取的是LocaleString(本地環境字符串).若是你開發的腳本在世界範圍都有人使用,那麼將對象轉換成字符串時請使用toString()方法來完成.由於LocaleString()會根據你機器的本地環境來返回字符串,它和toString()返回的值在不一樣的本地環境下使用的符號會有微妙的變化.因此使用toString()是保險的,返回惟一值的方法,它不會由於本地環境的改變而發生變化.若是是爲了返回時間類型的數據,推薦使用LocaleString().如果在後臺處理字符串,請務必使用toString().

13.valueOf()

做用:

valueOf() 方法返回 Array 對象的原始值。

該原始值由 Array 對象派生的全部對象繼承。

valueOf() 方法一般由 JavaScript 在後臺自動調用,並不顯式地出如今代碼中。

語法:arrayObject.valueOf()

實例:

    var arryC=[[1,2,5],['豆豆','豆沙','土豆']];
    var numberA = 123456789;
    var dateA = new Date();
    var valueOfValue1 = arryC.valueOf();
    var valueOfValue2 = numberA.valueOf();
    var valueOfValue3 = dateA.valueOf();
    var toLocaleStringValue1 = arryC.toLocaleString();
    var toLocaleStringValue2 = numberA.toLocaleString();
    var toLocaleStringValue3 = dateA.toLocaleString();
    var toStringValue1 = arryC.toString();
    var toStringValue2 = numberA.toString();
    var toStringValue3 = dateA.toString();
    console.log('valueOf方法:' + valueOfValue1);
    console.log('toLocaleString方法:' + toLocaleStringValue1);
    console.log('toString方法:' + toStringValue1);

    console.log('valueOf方法:' + valueOfValue2);
    console.log('toLocaleString方法:' + toLocaleStringValue2);
    console.log('toString方法:' + toStringValue2);

    console.log('valueOf方法:' + valueOfValue3);
    console.log('toLocaleString方法:' + toLocaleStringValue3);
    console.log('toString方法:' + toStringValue3);

打印結果:

區別:

根據輸出結果能夠發現arryC執行toString()和toLocaleString()方法輸出的內容是同樣的,且都爲字符串形式.而valueOf輸出的是這個對象自己的值.

相關文章
相關標籤/搜索