您好,登錄后才能下訂單哦!
這篇文章主要介紹“jquery怎么定義數(shù)組元素個(gè)數(shù)”,在日常操作中,相信很多人在jquery怎么定義數(shù)組元素個(gè)數(shù)問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”jquery怎么定義數(shù)組元素個(gè)數(shù)”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!
1.認(rèn)識(shí)數(shù)組
數(shù)組就是某類數(shù)據(jù)的集合,數(shù)據(jù)類型可以是整型、字符串、甚至是對(duì)象
Javascript不支持多維數(shù)組,但是因?yàn)閿?shù)組里面可以包含對(duì)象(數(shù)組也是一個(gè)對(duì)象),所以數(shù)組可以通過(guò)相互嵌套實(shí)現(xiàn)類似多維數(shù)組的功能
1.1 定義數(shù)組
聲明有10個(gè)元素的數(shù)組
var a=new Array(10);
此時(shí)為a已經(jīng)開(kāi)辟了內(nèi)存空間,包含10個(gè)元素,用數(shù)組名稱加 [下標(biāo)] 來(lái)調(diào)用,例如 a[2] 但此時(shí)元素并未初始化,調(diào)用將返回 undefined
以下代碼定義了個(gè)可變數(shù)組,并進(jìn)行賦值
var a=new Array();
a[0]=10;
a[1]="aaa";
a[2]=12.6;
上面提過(guò)了,數(shù)組里面可以放對(duì)象,例如下面代碼
var a=new Array();
a[0]=true;
a[1]=document.getElementByIdx_x("text");
a[2]={x:11, y:22};
a[3]=new Array();
數(shù)組可以實(shí)例化的時(shí)候直接賦值,例如
var a=new Array(1, 2, 3, 4, 5);
var b=[1, 2, 3, 4, 5];
a 和 b 都是數(shù)組,只不過(guò)b用了隱性聲明,創(chuàng)建了另一個(gè)實(shí)例,此時(shí)如果用alert(a==b)將彈出false
1.2 多維數(shù)組
其實(shí)Javascript是不支持多維數(shù)組的,在asp里面可以用 dim a(10,3)來(lái)定義多維數(shù)組,在Javascript里面,如果用 var a=new Array(10,3) 將報(bào)錯(cuò)
但是之前說(shuō)過(guò),數(shù)組里面可以包含對(duì)象,所以可以把數(shù)組里面的某個(gè)元素再聲明為數(shù)組,例如
var a=new Array();
a[0]=new Array();
a[0][0]=1;
alert(a[0][0]); //彈出 1
聲明的時(shí)候賦值
var a=new Array([1,2,3], [4,5,6], [7,8,9]);
var b=[[1,2,3], [4,5,6], [7,8,9]];
效果一樣,a采用常規(guī)實(shí)例化,b是隱性聲明,結(jié)果都是生成一個(gè)多維數(shù)組
1.3 Array literals
這個(gè)還真不知中文怎么叫,文字?jǐn)?shù)組?
說(shuō)到數(shù)組,不得不說(shuō)到Array Literals,數(shù)組其實(shí)是特殊的對(duì)象,對(duì)象有特有屬性和方法,通過(guò) 對(duì)象名.屬性 、對(duì)象.方法() 來(lái)取值和調(diào)用,而數(shù)組是通過(guò)下標(biāo)來(lái)取值,Array Literals跟數(shù)組有很多相似,都是某數(shù)據(jù)類型的集合,但是Array Literals從根本來(lái)說(shuō),是個(gè)對(duì)象,聲明和調(diào)用,跟數(shù)組是有區(qū)別
var aa=new Object();
aa.x="cat";
aa.y="sunny";
alert(aa.x); //彈出cat
創(chuàng)建一個(gè)簡(jiǎn)單的對(duì)象,一般調(diào)用是通過(guò)aa.x,而如果當(dāng)成Array literals的話,用alert(aa[“x”])一樣會(huì)彈出cat
var a={x:"cat", y:"sunny"};
alert(a["y"]); //彈出sunny
這是另一種創(chuàng)建對(duì)象的方法,結(jié)果是一樣的
2.數(shù)組元素的操作
上面已經(jīng)說(shuō)過(guò),可以通過(guò) 數(shù)組[下標(biāo)] 來(lái)讀寫元素
下標(biāo)的范圍是 0 – (23(上標(biāo)2) -1),當(dāng)下標(biāo)是負(fù)數(shù)、浮點(diǎn)甚至布爾值的時(shí)候,數(shù)組會(huì)自動(dòng)轉(zhuǎn)換為對(duì)象類型,例如
var b=new Array();
b[2.2]="XXXXX";
alert(b[2.2]); //-> XXXXX
此時(shí)相當(dāng)于b[“2.2”]=“XXXXX”
2.1數(shù)組的循環(huán)
var a=[1,2,3,4,5,6];
for(var i=0; i
alert(a[i]);
}
這是最常用的,歷遍數(shù)組,代碼將依次彈出1至6
還有一種常用的
var a=[1,2,3,4,5,6];
for(var e in a){
alert(e);
}
還是依次彈出1至6,for…in是歷遍對(duì)象(數(shù)組是特殊的對(duì)象)對(duì)象,用在數(shù)組上,因?yàn)閿?shù)組沒(méi)有屬性名,所以直接輸出值,這結(jié)構(gòu)語(yǔ)句用在對(duì)象上,例如下面
var a={x:1,y:2,z:3};
for(var e in a){
alert(e + ":" + a[e]);
}
此時(shí)e取到的是屬性名,即 x、y、x,而要取得值,則采用 數(shù)組名[屬性],所以 a[e] 等同于 a[“x”]、a[“y”]、a[“z”]
2.2數(shù)組常用函數(shù)
concat
在現(xiàn)有數(shù)組后面追加數(shù)組,并返回新數(shù)組,不影響現(xiàn)有數(shù)組
var a=[123];
var b="sunnycat";
var c=[""ido"];
var d={x:3.14, y:"SK"};
var e=[1,2,3,4,[5,6,[7,8]]];
alert(a.concat(b)); // -> 123,sunnycat
alert(a); // -> 123
alert(b.concat(c, d)); // -> sunnycat Object]
alert(c.concat(b)); // ->
alert(e.concat(11,22,33).join(" # ")); // -> 1 # 2 # 3 # 4 # 5,6,7,8 # 11 # 22 # 33
需要注意的是只能用于數(shù)組或字符串,如果被連接(前面的a)的是數(shù)值、布爾值、對(duì)象,就會(huì)報(bào)錯(cuò),字符串連接數(shù)組時(shí),字符串會(huì)跟數(shù)組首元素拼接成新元素,而數(shù)組連接字符串則會(huì)追加新元素(這點(diǎn)我也不清楚原委,知情者請(qǐng)透露),對(duì)于數(shù)組里面包含數(shù)組、對(duì)象的,連接后保持原樣
到此,關(guān)于“jquery怎么定義數(shù)組元素個(gè)數(shù)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。