1.concat()
2.join()
3.pop()
4.push()
6.shift()
8.slice()
9.sort()
10.splice()
11.toString()
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輸出的是這個對象本身的值.