W3Cschool
恭喜您成為首批注冊(cè)用戶(hù)
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
直接在JS里創(chuàng)建JSON數(shù)據(jù),然后遍歷使用~
創(chuàng)建代碼如下:(創(chuàng)建的是JSON對(duì)象)
var YearSelect = {};
var Year = 2014;
var DateOption;
for (var i = Year; i < Year + 12; i++) {
DateOption = {'Year':i, 'Month':i-Year+1};
/ alert(DateOption.Year)
YearSelect[i] = DateOption;
}
這里是創(chuàng)建一個(gè)JSON對(duì)象,包括了年份和月份的數(shù)據(jù)。
我為什么創(chuàng)建JSON對(duì)象,是因?yàn)槲覍?duì)JSON對(duì)象比較熟悉。php后臺(tái)返回的也是json對(duì)象。
json對(duì)象沒(méi)有l(wèi)ength屬性~~
所以遍歷的話要:
for(var key in YearSelect){
alert(YearSelect[key].Year);
alert(YearSelect[key].Month);
}
這樣就可以了~
記住一定要分辨好json的對(duì)象和數(shù)組~不然就一直是undenfined
下面給大家介紹js數(shù)組添加json數(shù)據(jù)的兩種方式。
// 第一種方式
personInfo
: [],
for(var i = 0; i < _STAGE.passengerInfoArray.length; i++){
var name = _STAGE.passengerInfoArray[i];
var person = {v:name, text:name};
this.personInfo.push(person);
}
// 第二種方式
var passengerInfo = {};
passengerInfo.psgTypeDesc = psgTypeDesc;
passengerInfo.flightPrice = flightPrice;
_STAGE.passengerInfoArray.push(passengerInfo);
1. 定義一維數(shù)組:
var s1=new Array();
s1=[1,2,3,4];//或者s1[0]=1,s1[1]=2,s1[3]=3,s1[4]=4;
alert(s1[0]);
結(jié)果為1;
2. 定義二維素組:
var s1=new Array();
var s1=[[3,1],[2,3,4],3,[4,5,6,7,8]];
alert(s1[1][0]);
結(jié)果為2;
1. json對(duì)象
var status_process = {
" name5" : '閑置期',
"name1" : '播種期',
"name2" : '苗期',
"name3" : '生長(zhǎng)期',
"name4" : '采收期'
}
alert(status_process);
結(jié)果為:Object:Object;
2. json字符串
所謂json字符串,是指該字符串變量的值與json的格式相同,但是不是json對(duì)象,比如:
var s1="{";
var s2 = " 'name5' : '閑置期', 'name1' : '播種期','name2' : '苗期','name3' : '生長(zhǎng)期','name4' : '采收期'";
var s3="}";
var status_process=s1+s2 +s3;
雖然status_process的值符合json對(duì)象的格式,但是它不是對(duì)象,只是一個(gè)字符串(是拼湊出來(lái)的);
將字符串轉(zhuǎn)換為json對(duì)象使用函數(shù)eval,eval("(" + status_process+ ")");
結(jié)論:從后臺(tái)傳入到前臺(tái)的是json字符串,不是真正的json對(duì)象,因此需要使用eval函數(shù)轉(zhuǎn)換。
3. json對(duì)象的使用
var status_process = {
name5 : '閑置期',
name1 : '播種期',
name2 : '苗期',
name3 : '生長(zhǎng)期',
name4 : '采收期'
};
alert(status_process["name5"]);
alert(status_process.name5);
兩個(gè)都為:閑置期
4. json二維對(duì)象
var status_process = {
name5 : {name3:'空閑閑置期'},
name1 : '播種期',
name2 : '苗期',
name3 : '生長(zhǎng)期',
name4 : '采收期'
};
alert(status_process["name5"]["name3"]);
alert(status_process.name5.name3);
結(jié)果都為:'空閑閑置期'
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: