我从XMLHttpRequest responseXML对象中检索了这组数组数据。在解析期间,我想格式化一个要传回的数组以供使用。
数组setup
应该像这样
setup=['eMonth[0]','eDay[0]','holiStr[0]','eMonth[1]','eDay[1],'holiStr[1]'
,'eMonth[2]','eDay[2]','holiStr[2]']
所以我试图先将setup设置为一个数组然后进行每次设置,然后再进行另一次设置。
function parseXML(xmlData){
var setup;
for(i=0;i< xmlData.getElementsByTagName('year').length;i++){
var eYear = xmlData.getElementsByTagName('year')[i].firstChild.nodeValue;
var eMonth = xmlData.getElementsByTagName('month')[i].firstChild.nodeValue;
var eDay = xmlData.getElementsByTagName('day')[i].firstChild.nodeValue;
var eHour = xmlData.getElementsByTagName('hours')[i].firstChild.nodeValue;
var eMinute = xmlData.getElementsByTagName('minutes')[i].firstChild.nodeValue;
var eTitle = xmlData.getElementsByTagName('title')[i].firstChild.nodeValue;
var holiStr = eTitle[i] + '</br>' + eHour[i] + ":" + eMinute[i];
setup = [eMonth[i],eDay[i],holiStr[i]];
}
return setup;
}
这返回空,我想我搞砸了。有人能告诉我一个更优雅的方法吗?
答案 0 :(得分:1)
怎么样:
var setup = [];
for(...){
...
setup.push(eMonth[i]);
setup.push(eDay[i]);
setup.push(holiStr[i]);
}
return setup;
我不确定你为什么要这样做,但它应该符合你提供的要求。
否则,保持数组中的对象可能会更容易在路上工作,而不需要保持“3的分组”。即:
var setup = [];
for(...){
...
setup.push({eMonth: eMonth[i], eDay: eDay[i], holiStr: holiStr[i]});
}
return setup;
...例如,这将允许您引用setup[3].eDay
。