0

我从我的 XMLHttpRequest responseXML 对象中检索了这组数组数据。在解析期间,我想格式化一个数组以传回使用。

数组setup应该像这样

setup=['eMonth[0]','eDay[0]','holiStr[0]','eMonth[1]','eDay[1],'holiStr[1]' ,'eMonth[2]','eDay[2]','holiStr[2]']

所以我试图先将设置放入一个数组,然后对于每个设置,连接另一个设置。

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;
}

这返回空,我想我搞砸了。有人可以向我展示一种更优雅的方法吗?

4

1 回答 1

1

怎么样:

var setup = [];
for(...){
  ...
  setup.push(eMonth[i]);
  setup.push(eDay[i]);
  setup.push(holiStr[i]);
}
return setup;

我不确定您为什么要这样做,但它应该满足您提供的要求。

否则,将对象保留在数组中可能会更容易处理,而不是需要保留“3 个分组”。IE:

var setup = [];
for(...){
  ...
  setup.push({eMonth: eMonth[i], eDay: eDay[i], holiStr: holiStr[i]});
}
return setup;

...这将允许您参考setup[3].eDay,例如。

于 2013-02-24T06:15:58.030 回答