講到數(shù)組會(huì)有人問(wèn),什么是數(shù)組?數(shù)組就是有序數(shù)據(jù)的集合,在JavaScript中的數(shù)組元素允許屬于不同的數(shù)據(jù)類型,用數(shù)組名和下標(biāo)就可以唯一地確定數(shù)組中的元素。接下來(lái)將會(huì)詳細(xì)的講解一下JavaScript數(shù)組對(duì)象。
創(chuàng)建數(shù)組對(duì)象
數(shù)組是具有相同數(shù)據(jù)類型的變量集合,這些變量都可以通過(guò)檢索進(jìn)行訪問(wèn)。數(shù)組中的變量稱為數(shù)組的元素,數(shù)組能夠容納元素的數(shù)量稱為數(shù)組的長(zhǎng)度。數(shù)組中的每一個(gè)元素都具有唯一的索引(下標(biāo))與其相對(duì)應(yīng),在JavaScript中,數(shù)組的索引從零開(kāi)始。
數(shù)組對(duì)象使用Array,新建數(shù)組對(duì)象有三種方法。
方法一:var 數(shù)組名 = new Date();//新建一個(gè)長(zhǎng)度為0的數(shù)組
方法二:var 數(shù)組名 = new Date(n);//新建一個(gè)長(zhǎng)度為n的數(shù)組
方法三:var 數(shù)組名 = new Date(元素1,元素2,元素3,…);//新建一個(gè)指定長(zhǎng)度的數(shù)組并賦值
數(shù)組對(duì)象屬性的應(yīng)用
在JavaScript中數(shù)組對(duì)象的屬性主要有三個(gè):
constructor:返回對(duì)創(chuàng)建對(duì)象的數(shù)據(jù)函數(shù)的引用;
length:設(shè)置或返回?cái)?shù)組中的元素的數(shù)目;
prototype:使開(kāi)發(fā)者有能力向?qū)ο筇砑訉傩院头椒?div style="height:15px;">
1.constructor
constructor屬性返回對(duì)創(chuàng)建對(duì)象的數(shù)據(jù)函數(shù)的引用,其語(yǔ)法格式如下:
object. constructor;
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>數(shù)組對(duì)象的學(xué)習(xí)</title>
</head>
<body>
<script type="text/javascript">
var myArray1 = new Array();
if(myArray1.constructor==Array){
document.write("這是數(shù)組對(duì)象");
}
if(myArray1.constructor==Boolean){
document.write("這是布爾對(duì)象");
}
if(myArray1.constructor==Date){
document.write("這是日期對(duì)象");
}
if(myArray1.constructor==String){
document.write("這是字符串對(duì)象");
}
</script>
</body>
</html>
顯示結(jié)果:
圖1 數(shù)組對(duì)象的constructor屬性結(jié)果
2. length
Length返回?cái)?shù)組元素中元素的數(shù)目,其語(yǔ)法格式如下:
arrayObject.length;
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>數(shù)組對(duì)象的學(xué)習(xí)</title>
</head>
<body>
<script type="text/javascript">
var arr = new Array(3);
arr[0] = "xiaozhan"
arr[1] = "zhangyunlei"
arr[2] = "zhangjie"
document.write("數(shù)組的長(zhǎng)度:" + arr.length);
document.write("<br />");
arr.length=5;
document.write("設(shè)置之后的長(zhǎng)度:" + arr.length);
</script>
</body>
</html>
顯示結(jié)果:
圖2 數(shù)組對(duì)象的length屬性結(jié)果
3.prototype
Prototype屬性可以對(duì)對(duì)象田間屬性和方法。其語(yǔ)法格式如下:
Object,prototype.name = value;
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>數(shù)組對(duì)象的學(xué)習(xí)</title>
</head>
<body>
<script type="text/javascript">
Array.prototype.outAll = function(ar){
for(var i=0;i<this.length;i++){
document.write(this[i]);
document.write(ar);
}
document.write("<br>");
}
var arr = new Array(1,2,3,4,5,6,7,8,9);
arr.outAll("");
</script>
</body>
</html>
顯示結(jié)果:
圖3 數(shù)組對(duì)象的prototype屬性結(jié)果
數(shù)組對(duì)象常用方法
在JavaScript中,有大量的數(shù)組常用的操作方法,比如合并數(shù)組、刪除數(shù)組元素、添加數(shù)組元素等。只有不斷地運(yùn)用這些方法才能熟練的掌握。在這里給大家展示一下數(shù)組對(duì)象方法表,可幫助大家快速查找需要用到的方法。
方法
描述
concat()
連接兩個(gè)或更多的數(shù)組,并返回結(jié)果。
pop()
刪除并返回?cái)?shù)組的最后一個(gè)元素
join()
把數(shù)組的所有元素放入一個(gè)字符串。元素通過(guò)指定的分隔符進(jìn)行分隔
push()
向數(shù)組的末尾添加一個(gè)或更多元素,并返回新的長(zhǎng)度。
reverse()
顛倒數(shù)組中元素的順序。
slice()
從某個(gè)已有的數(shù)組返回選定的元素
shift()
刪除并返回?cái)?shù)組的第一個(gè)元素
sort()
對(duì)數(shù)組的元素進(jìn)行排序
splice()
刪除元素,并向數(shù)組添加新元素
toString()
把數(shù)組轉(zhuǎn)換為字符串,并返回結(jié)果
toSource()
返回該對(duì)象的源代碼
toLocaleString()
把數(shù)組轉(zhuǎn)換為本地?cái)?shù)組,并返回結(jié)果
unshift()
向數(shù)組的開(kāi)頭添加一個(gè)或更多元素,并返回新的長(zhǎng)度
valueOf()
返回?cái)?shù)組對(duì)象的原始值
結(jié)語(yǔ)
JavaScript中數(shù)組可以用一個(gè)變量名存儲(chǔ)所有的值,并且可以用變量名訪問(wèn)任何一個(gè)值。因?yàn)閿?shù)組中的每個(gè)元素都有自己的的ID,可以方便它可以很容易地被訪問(wèn)到,所以學(xué)會(huì)數(shù)組對(duì)象的屬性和常用方法,可以減少查找數(shù)據(jù)和儲(chǔ)存數(shù)據(jù)的工作量。
END主 編 | 王楠嵐
責(zé) 編 | 程 才
where2go 團(tuán)隊(duì)
微信號(hào):算法與編程之美