- Array對(duì)象母截、Math對(duì)象到忽、String對(duì)象、Date對(duì)象微酬、正則表達(dá)式
- 什么是數(shù)組:所謂數(shù)組就是內(nèi)存中開(kāi)辟的用來(lái)存儲(chǔ)大量數(shù)據(jù)的存儲(chǔ)單元绘趋,換句話說(shuō)數(shù)據(jù)就是變量的集合,數(shù)組里面的每個(gè)數(shù)據(jù)都被稱為數(shù)組元素
- 數(shù)組的分類:一維數(shù)組颗管、二維數(shù)組、多維數(shù)組
a) 一維數(shù)組:就是指元素的下標(biāo)只有一個(gè)
b) 二維數(shù)組:就是指元素的下標(biāo)有兩個(gè) - 數(shù)組的定義
a) 使用構(gòu)造方法創(chuàng)造數(shù)組滓走,格式為var數(shù)組名= new Array();
b) 使用字面量的形式創(chuàng)造數(shù)組垦江,格式為var數(shù)組名= []; - 數(shù)組的賦值1
a) 初始化賦值,就是指在定義數(shù)組的同時(shí)為數(shù)組賦值搅方,格式為:var數(shù)組名= new Array(值1比吭,值2,值3姨涡,值4….);注意最后一個(gè)元素的后面不可以加逗號(hào)
b) 如果是字面量形式定義的數(shù)組衩藤,初始化格式如下var數(shù)組名= [值1,值2涛漂,值3…];注意最后的元素后面不建議加逗號(hào) - 數(shù)組賦值的注意事項(xiàng):JS數(shù)組中可以儲(chǔ)存不同類型的數(shù)據(jù)
- 數(shù)組的賦值2:利用循環(huán)動(dòng)態(tài)賦值:注意利用循環(huán)賦值涉及到如何表示數(shù)組中的每個(gè)元素赏表,元素的表示方法為:數(shù)組名[下標(biāo)],另外注意下標(biāo)的起始值為0匈仗,最大值為數(shù)組長(zhǎng)度減1
- 如何修改數(shù)組元素的值瓢剿,格式:數(shù)組名[下標(biāo)] = 新值,注意JS數(shù)組的長(zhǎng)度是可以改變的如果要擴(kuò)展數(shù)組長(zhǎng)度悠轩,方法為:數(shù)組名.length = 值间狂;如果要減小數(shù)組的長(zhǎng)度,方法為:arr.length = 值;(需要注意如果要減小數(shù)組的長(zhǎng)度火架,新的值需要比原來(lái)的值屑蟆)
- 數(shù)組元素的遍歷
a) 形式1:基本for循環(huán)
b) 形式2:for in(注意忙菠,for in這種形式真正遍歷的是元素的下標(biāo)),格式
for (var元素下標(biāo)in 數(shù)組名) {
語(yǔ)句
}
c) 形式3:for of(注意纺弊,for of這種形式遍歷的是數(shù)組元素的值)牛欢,格式
for (var元素of 數(shù)組名) {
語(yǔ)句;
}
d) 形式4:forEach俭尖,(注意氢惋,forEach這種形式既可以遍歷元素的下標(biāo),也可以遍歷元素的值稽犁,它需要用到一個(gè)匿名函數(shù)焰望,該函數(shù)需要兩個(gè)參數(shù),第一個(gè)參數(shù)表示值已亥,第二個(gè)參數(shù)表示下標(biāo))格式如下:
數(shù)組名.forEach(function(ele,index) {
語(yǔ)句熊赖;
}); - 數(shù)組的基本操作
a) 求和
b) 求平均值
c) 求最大值、最小值 - 隨機(jī)數(shù)的創(chuàng)建虑椎,需要用到Math對(duì)象的random方法震鹉,格式Math.random();需要注意的是它的返回值為0-1間的小數(shù),且包含0捆姜,不包含1传趾,注意如果要獲取m-n間的整數(shù)浪听,需要用到如下格式parseInt(Math.random()*(n-m)+m)
- 數(shù)組常見(jiàn)排序方法
a) 冒泡排序法
b) 選擇排序法 - 數(shù)組對(duì)象常見(jiàn)方法
a) push()方法
作用:在數(shù)組末尾追加元素
格式:數(shù)組名.push(值1掂墓,值2允悦,值3….);
返回值:新的數(shù)組長(zhǎng)度
注意:原數(shù)組內(nèi)容被改變
b) pop()方法
作用:刪除數(shù)組最后一個(gè)元素
格式:數(shù)組名.pop();
返回值:被刪除數(shù)組元素
注意:原數(shù)組內(nèi)容被改變
c) unshift()方法:
作用:在數(shù)組前面插入元素
格式:數(shù)組名.unshift(值1录择,值2不从,值3….);
返回值:新的數(shù)組長(zhǎng)度
注意:原數(shù)組被改變
d) shift()方法:
作用:刪除數(shù)組前面第一個(gè)元素
格式:數(shù)組名.shift();
返回值:被刪除的元素
注意:原數(shù)組被改變
e) join()方法:
作用:將數(shù)組中的元素拼接成字符串(換句話說(shuō)惑淳,就是將數(shù)組元素變成字符串)
格式:數(shù)組名.join(“分隔符”);默認(rèn)的分隔符為逗號(hào)诫龙,如果要將數(shù)組元素直接拼接在一起伤极,不須分隔符只需要在join的小括號(hào)里面寫一個(gè)雙引號(hào)就可以了
返回值為:數(shù)組元素拼接出來(lái)的字符串
注意:原數(shù)組不變
f) reverse()方法:
作用:顛倒數(shù)組元素的位置
格式:數(shù)組名.reverse();
返回值:調(diào)到后的新數(shù)組
注意:原數(shù)組被改變
g) concat()方法:
作用:將數(shù)組和其它的數(shù)組或值進(jìn)行拼接
格式:數(shù)組名1.concat(值1店茶,值2…);
返回值:拼接之后的新的數(shù)組
注意:原有數(shù)組都不改變蜕便,在拼接的時(shí)候,試講concat括號(hào)里面的數(shù)組連接在調(diào)用concat方法的數(shù)組的后面
h) slice()方法:
作用:從原數(shù)組中截取一個(gè)新的數(shù)組
格式:數(shù)組名.slice(begin贩幻,end);說(shuō)明:begin表示開(kāi)始的下標(biāo)轿腺,end表示結(jié)束的下標(biāo),注意包含begin但是不包含end段直,如果使用如下格式:屬性值.slice(開(kāi)始的下標(biāo));表示從原有數(shù)組中在開(kāi)始下標(biāo)處進(jìn)行截取吃溅,直到最后
返回值:截取出來(lái)的新數(shù)組
注意:原數(shù)組不受影響
i) splice()方法:
作用:對(duì)數(shù)組進(jìn)行增、刪鸯檬、改操作
增加元素的格式:數(shù)組名.splice(要放在的位置决侈,0,新增的值)
刪除元素的格式:數(shù)組名.splice(要?jiǎng)h除的元素的起始下標(biāo),要?jiǎng)h除的元素的個(gè)數(shù));
修改元素的格式:數(shù)組名.splice(要修改的元素的下標(biāo)赖歌,個(gè)數(shù)枉圃,新的值);
注意:原數(shù)組被改變
j) toString()方法:
作用:將數(shù)組變成字符串
格式:數(shù)組名.toString();
注意:原數(shù)組不改變
k) indexOf()方法:
作用:從頭向后查找元素的下標(biāo),如果找到返回對(duì)應(yīng)下標(biāo)庐冯,如果找不到返回-1
注意:原數(shù)組不改變
l) lastIndexOf()方法:
作用:從后向前查找元素的下標(biāo)孽亲,如果找到返回對(duì)應(yīng)下標(biāo),如果找不到返回-1
注意:無(wú)論indexOf還是lastIndexOf都是在查找滿足條件的第一個(gè)元素展父,如果找到這個(gè)元素返劲,返回對(duì)應(yīng)下標(biāo)
m) sort()方法
作用:對(duì)數(shù)組元素進(jìn)行排序,需要注意的是該方法在比較時(shí)栖茉,會(huì)把數(shù)組中的所有元素當(dāng)做字符串篮绿,按照字符串的比較方法進(jìn)行比較(比較ASCII碼值),如果要按照數(shù)值大小進(jìn)行比較需要加參數(shù)吕漂,
格式1(從小到大):
數(shù)組名.sort(
function (num1, num2) {
return num1-num2
}
);
格式2(從大到星着洹):
數(shù)組名.sort(
function (num1, num2) {
return num2 –num1;
}
);