0. 前言
在開(kāi)發(fā)過(guò)程中會(huì)對(duì)數(shù)組進(jìn)行操作副砍,而方法很多修档,我在這里進(jìn)行一些總結(jié)赌髓。
1. 簡(jiǎn)介
數(shù)組可以存儲(chǔ)多個(gè)不同類(lèi)型的數(shù)據(jù)。
2. 數(shù)組中常用的方法
一冷冗、 push
push(item1,item2...)
功能:在數(shù)組的末位添加一個(gè)或者多個(gè)元素
參數(shù):要以添加的元素
返回值:添加數(shù)據(jù)后數(shù)組的長(zhǎng)度
var arr1 = [1,2,3,4,5];
var ret1 = arr1.push(9);
console.log(arr1);//輸出 [1, 2, 3, 4, 5, 9]
console.log(arr1.length);//輸出 6
console.log(ret1);//輸出 6
二守屉、 unshift
unshift(item1,item2......)
功能:在數(shù)組的頭添加一個(gè)或者多個(gè)元素
參數(shù):要以添加的元素
返回值:添加數(shù)據(jù)后數(shù)組的長(zhǎng)度
var arr2 = [1,2,3,4,5];
var ret2 = arr2.unshift(0);
console.log(arr2);//輸出 [0, 1, 2, 3, 4, 5]
console.log(arr2.length);//輸出 6
console.log(ret2);//輸出 6
三、 pop
pop()
功能:在數(shù)組的末尾刪除一個(gè)元素
參數(shù):無(wú)
返回值:被刪除的元素
var arr3 = [1,2,3,4,5];
var ret3 = arr3.pop();
console.log(arr3);//輸出 [1, 2, 3, 4]
console.log(arr3.length);//輸出 4
console.log(ret3);//輸出 5
四蒿辙、 shift
shift()
功能:在數(shù)組的頭刪除一個(gè)元素
參數(shù):無(wú)
返回值:被刪除的元素
var arr4 = [1,2,3,4,5];
var ret4 = arr4.shift();
console.log(arr4);//輸出 [2, 3, 4, 5]
console.log(arr4.length);//輸出 4
console.log(ret4);//輸出 1
五拇泛、 join
join(str)
功能:將數(shù)組的元素用參數(shù)字符串拼接成一個(gè)新的字符串
參數(shù):一個(gè)字符串
返回值:拼接的結(jié)果字符串
var arr5 = [1,2,3,4,5];
var ret5 = arr5.join("good");
console.log(arr5);//輸出 [1, 2, 3, 4, 5]
console.log(arr5.length);//輸出 5
console.log(ret5);//輸出 1good2good3good4good5
console.log(typeof ret5);//輸出 string
六、reverse
reverse()
功能:倒置數(shù)組
參數(shù):無(wú)
返回值:倒置以后的數(shù)組
var arr6 = [1,2,3,4,5];
var ret6 = arr6.reverse();
console.log(arr6);//輸出 [5, 4, 3, 2, 1]
console.log(arr6.length);//輸出 5
console.log(ret6);//輸出 [5, 4, 3, 2, 1]
console.log(typeof ret6);//輸出 object
七思灌、 slice
slice(starIndex,endIndex)
功能:在數(shù)組中從starIndex下標(biāo)一直截取到endIndex下標(biāo)之前
參數(shù):開(kāi)始與結(jié)束的下標(biāo)
返回值:截取的數(shù)據(jù)數(shù)組
注意:不包含endIndex下標(biāo)處的元素
var arr7 = [1,2,3,4,5,6,7,8,9,10];
var ret7 = arr7.slice(3,7);
console.log(ret7);//輸出 [4, 5, 6, 7]
八俺叭、 splice
splice(下標(biāo),個(gè)數(shù)泰偿,item1绪颖,item2...)
功能:是在數(shù)組的中間添加或者刪除一些元素
必選參數(shù):下標(biāo)、個(gè)數(shù)
可選參數(shù):item1甜奄,item2...
添加方法的返回值:[ ] 空數(shù)組
添加:個(gè)數(shù)為0,從下標(biāo)處開(kāi)始添加可選參數(shù)中的元素
注意:如果下標(biāo)大于了原數(shù)組的最大下標(biāo)窃款,都是在數(shù)組最后添加元素
var arr9 = [1,2,3,4,5];
var ret9 = arr9.splice(2,0,8,9);
console.log(arr9);//輸出 [1,2,8,9,3,4,5]
console.log(ret9);//輸出 [ ]
console.log(ret9.length);//輸出 0
console.log(arr9.length);//輸出 7
刪除:不需要可選參數(shù)课兄,從下標(biāo)開(kāi)始刪除對(duì)應(yīng)個(gè)數(shù)個(gè)元素
刪除方法的返回值:刪除的元素?cái)?shù)組
var arr10 = [1,2,3,4,5,6,7,8,9,10];
var ret10 = arr10.splice(2,6)
console.log(arr10);//輸出 [1, 2, 9, 10]
console.log(ret10);//輸出 [3, 4, 5, 6, 7, 8]
console.log(ret10.length);// 6
九、 concat
concat(arr1晨继,arr2...)
功能:將多個(gè)數(shù)組拼接成一個(gè)數(shù)組
參數(shù):一個(gè)或者多個(gè)數(shù)組
返回值:拼接之后新的數(shù)組烟阐,新的數(shù)組元素是所有數(shù)組的元素
ar arr8 = [1,2,3];
var num8 = [4,5,6];
var str8 = [7,8,9];
var ret8 = num8.concat(arr8,str8);
console.log(ret8);//輸出 [4, 5, 6, 1, 2, 3, 7, 8, 9]
console.log(arr8);//輸出 [1, 2, 3]
console.log(num8);//輸出 [4, 5, 6]
console.log(str8);//輸出 [7, 8, 9]
console.log(ret8[1],[1]);//輸出 5
十、 indexOf
indexOf(item)
功能:從數(shù)組的左側(cè)開(kāi)始查找對(duì)應(yīng)第一次出現(xiàn)的參數(shù)元素的下標(biāo)
參數(shù):元素值
返回值:如果找到了對(duì)應(yīng)的元素則返回該元素的下標(biāo)值,否則返回-1
var arr11 = [1,2,3,3,4,5,3,6,7,8];
var ret11 = arr11.indexOf(9);
console.log(arr11);//輸出 [1,2,3,3,4,5,3,6,7,8]
console.log(ret11);//輸出 -1
十一蜒茄、lastIndexOf
lastIndexOf(item)
功能:從數(shù)組的右側(cè)開(kāi)始查找對(duì)應(yīng)第一次出現(xiàn)的參數(shù)元素的下標(biāo)
參數(shù):元素值
返回值:如果找到了對(duì)應(yīng)的元素則返回該元素的下標(biāo)值唉擂,否則返回-1
var arr12 = [1,2,3,3,4,5,3,6,7,8];
var ret12 = arr12.lastIndexOf(3);
console.log(arr12);//輸出 [1,2,3,3,4,5,3,6,7,8]
console.log(ret12);//輸出 6
3. 結(jié)束語(yǔ)
曾經(jīng)有一份真誠(chéng)的代碼放在我面前,我沒(méi)有珍惜檀葛,等我失去的時(shí)候我才后悔莫及玩祟,人世間最痛苦的事莫過(guò)于此。我要為森哥的真誠(chéng)轉(zhuǎn)載屿聋,發(fā)盆友圈空扎,點(diǎn)贊,打賞H蠹ァW狻!