1.數(shù)組的每一項(xiàng)可以保存任何類(lèi)型的數(shù)據(jù)
2.數(shù)據(jù)的length等于最后一項(xiàng)的索引值+1
3.數(shù)組最多可以包含4294967295個(gè)項(xiàng)
4.Array.isArray()方法涤久,目的是最終確定某個(gè)值到底是不是數(shù)組
用法:
5. toLocaleString(), toString() 和 valueOf()方法
? ? toLocaleString():把數(shù)組轉(zhuǎn)換為本地字符串,并返回結(jié)果
? ? toString():把數(shù)組轉(zhuǎn)換為字符串淆党,并返回結(jié)果
????valueOf():返回?cái)?shù)組對(duì)象的原始值
調(diào)用數(shù)組的toString()方法會(huì)返回與數(shù)組中每個(gè)值的字符串形式拼接而成的一個(gè)以逗號(hào)分隔的字符串。
6.join()方法:只接受一個(gè)參數(shù)颖变,即用作分隔符的字符串拼卵,然后返回包含所有數(shù)組項(xiàng)的字符串。
7.push()饮焦,pop() 方法
push()方法可以接收任意數(shù)量的參數(shù),把他們逐個(gè)添加到數(shù)組末尾窍侧,并返回修改后數(shù)組的長(zhǎng)度县踢。
pop()方法則從數(shù)組的末尾移除最后一項(xiàng),減少數(shù)組的length值伟件,然后返回移除的項(xiàng)硼啤。
8.shift(), unshift()方法
shift():移除數(shù)組中第一項(xiàng)并返回該項(xiàng)斧账,同時(shí)將數(shù)組長(zhǎng)度減一谴返。
unshift()在數(shù)組前端添加任意項(xiàng)并返回新數(shù)組的長(zhǎng)度。
9.reverse()其骄,sort()方法
reverse():會(huì)反轉(zhuǎn)數(shù)組項(xiàng)的順序
sort():按升序排列數(shù)組項(xiàng)——即最小的值位于最前面亏镰,最大的值排在最后面。
sort()方法會(huì)調(diào)用每個(gè)數(shù)組項(xiàng)的toString()方法拯爽,然后比較得到的字符串,以確定如何排序钧忽,即使數(shù)組中的每一項(xiàng)都是數(shù)值毯炮,sort()方法比較的也是字符串逼肯。
因此sort()方法可以接收一個(gè)比較作為參數(shù),以便我們指定哪個(gè)值位于哪個(gè)值的前面桃煎。
比較函數(shù):
使用比較函數(shù):
10.concat()方法:可以基于當(dāng)前數(shù)組中的所有項(xiàng)創(chuàng)建一個(gè)新數(shù)組篮幢。
具體的說(shuō):這個(gè)方法會(huì)先創(chuàng)建當(dāng)前數(shù)組的一個(gè)副本,然后將接收到的參數(shù)添加到這個(gè)副本末尾你为迈,最后返回新構(gòu)建的數(shù)組三椿。
11.slice()方法:它能夠基于當(dāng)前數(shù)組中的一個(gè)或多個(gè)項(xiàng)創(chuàng)建一個(gè)新數(shù)組。slice()方法可以接受一個(gè)或兩個(gè)參數(shù)葫辐,即要返回項(xiàng)的起始位置和結(jié)束位置搜锰。
注意:slice()方法不會(huì)影響原數(shù)組。
注意:如果slice()方法的參數(shù)中有一個(gè)負(fù)數(shù)耿战,則用數(shù)組的長(zhǎng)度加上該數(shù)來(lái)確定相應(yīng)的位置蛋叼。如果結(jié)束位置小于起始位置,則返回空數(shù)組剂陡。
12.splice()方法:主要用途是向數(shù)組的中部插入項(xiàng)狈涮。
12.1 刪除:可以刪除任意數(shù)量的項(xiàng),之需指定兩個(gè)參數(shù):要?jiǎng)h除的第一項(xiàng)的位置和要?jiǎng)h除的項(xiàng)數(shù)鸭栖。
12.2 插入:可以向指定位置插入任意數(shù)量的項(xiàng)歌馍,只需要提供三個(gè)參數(shù):起始位置,0(要?jiǎng)h除的項(xiàng)數(shù))和要插入的項(xiàng)晕鹊。
12.3 替換:可以向指定位置插入任意數(shù)量的項(xiàng)且同時(shí)刪除任意數(shù)量的項(xiàng)松却,之需指定三個(gè)參數(shù):起始位置,要?jiǎng)h除的項(xiàng)數(shù)捏题,和要插入的項(xiàng)玻褪。
splice()方法:始終都會(huì)返回一個(gè)數(shù)組,該數(shù)組中包含從原始數(shù)組中要?jiǎng)h除的項(xiàng)(如果沒(méi)有刪除任何項(xiàng)公荧,則返回一個(gè)空數(shù)組带射。)
13 indexOf() , lastIndexOf()。
這兩個(gè)方法都接受兩個(gè)參數(shù):要查找的項(xiàng)和(可選的)表示查找起點(diǎn)位置的索引循狰。
indexOf()方法:從數(shù)組的開(kāi)頭(位置0)開(kāi)始向后查找窟社。
lastIndexOf()方法:從數(shù)組的末尾向前查找。
這兩個(gè)方法都返回要查找的項(xiàng)在數(shù)組中的位置绪钥,或者在沒(méi)有找到的情況下返回-1灿里。
14迭代方法:
14.1 every():對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),如果該函數(shù)對(duì)每一項(xiàng)都返回true程腹,則返回true匣吊。
14.2 filter():對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定函數(shù),返回該函數(shù)會(huì)返回true的項(xiàng)組成的數(shù)組。
14.3 forEach():對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定的函數(shù)色鸳。這個(gè)方法沒(méi)有返回值社痛。
14.4 map():對(duì)數(shù)組中的每一項(xiàng)運(yùn)行給定的函數(shù),返回每次函數(shù)調(diào)用的結(jié)果組成的數(shù)組命雀。
14.5 some():對(duì)數(shù)組的每一項(xiàng)運(yùn)行給定函數(shù)蒜哀,如果該函數(shù)對(duì)任一項(xiàng)返回true,則返回true吏砂。
以上方法都不會(huì)修改數(shù)組中包含的值撵儿。
15 縮小方法? reduce() 和 reduceRight()
這兩個(gè)方法都會(huì)迭代數(shù)組的所有項(xiàng),然后構(gòu)建一個(gè)最終返回的值狐血。
reduce()方法從數(shù)組的第一項(xiàng)開(kāi)始淀歇,逐個(gè)遍歷到最后。
reduceRight()則從數(shù)組的最后一項(xiàng)開(kāi)始氛雪,向前遍歷到第一項(xiàng)房匆。
接收兩個(gè)參數(shù):一個(gè)在每一項(xiàng)上調(diào)用的函數(shù)和(可選的)作為縮小基礎(chǔ)的初始值。
傳給reduce()和reduceRight()的函數(shù)接收四個(gè)參數(shù):前一個(gè)值报亩,當(dāng)前值浴鸿,項(xiàng)的索引和數(shù)組對(duì)象。這個(gè)函數(shù)返回的任何值都會(huì)作為第一個(gè)參數(shù)自動(dòng)傳給下一項(xiàng)弦追。第一次迭代發(fā)生在數(shù)組的第二項(xiàng)上岳链,因此第一個(gè)參數(shù)是數(shù)組的第一項(xiàng),第二個(gè)參數(shù)就是數(shù)組的第二項(xiàng)劲件。