Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何合并数组然后合并它们_Javascript_Xml_Arrays_Merge_Xmlhttprequest - Fatal编程技术网

Javascript 如何合并数组然后合并它们

Javascript 如何合并数组然后合并它们,javascript,xml,arrays,merge,xmlhttprequest,Javascript,Xml,Arrays,Merge,Xmlhttprequest,我从XMLHttpRequest-responseXML对象检索了这组数组数据。在解析过程中,我想格式化一个要传回使用的数组 数组设置应如下所示 setup=['eMonth[0],'eDay[0],'holiStr[0],'eMonth[1],'eDay[1],'holiStr[1]' ,'eMonth[2],'eDay[2],'holiStr[2]。] 因此,我尝试先将设置放入一个数组中,然后针对每个设置,在另一个设置中进行设置 function parseXML(xmlData){ var

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

数组
设置应如下所示

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;
}
函数解析xml(xmlData){
var设置;
对于(i=0;i'+eHour[i]+':“+eMinute[i];
设置=[eMonth[i]、eDay[i]、holiStr[i];
}   
返回设置;
}
这是空的,我想我搞砸了。有人能给我介绍一种更优雅的方法吗?

怎么样:

var setup = [];
for(...){
  ...
  setup.push(eMonth[i]);
  setup.push(eDay[i]);
  setup.push(holiStr[i]);
}
return setup;
我不确定你为什么要这样做,但它应该满足你提供的要求

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


。。。这将允许您引用
设置[3]。例如,eDay

您不需要使用concat()?最想知道的是如何将同一个索引与每个索引合并并分组other@GivenPie-
concat
用于将现有阵列组合在一起。例如,
concat([1,2,3],[4,5,6])
。在您演示的任何地方都没有这样的设置。相反,您只是在使用一次性属性扩展现有阵列。如果您觉得有必要,我可以提供一种使用concat的方法,但我看不出它有什么真正的好处。我需要concat的数组,以便我可以用来填充日历。日历上的特定日期的索引由(月、日、假日)@GivenPie定义-我认为您需要发布更多的代码,因为现在不清楚您到底想做什么。但是,我仍然不认为需要
concat
。也就是说,如果您的最终目标只是这些三元组的一个数组,那么我提供的代码正是您所需要的。如果您需要合并对
parseXML
的调用,那么只需将
setup
向上移动到作用域中(函数外部),或者将其传递到函数中并继续使用
push
,如我所示。我明白了,那么我现在就理解push,所以我将利用它。我相信它现在能做我需要的事情。
var setup = [];
for(...){
  ...
  setup.push({eMonth: eMonth[i], eDay: eDay[i], holiStr: holiStr[i]});
}
return setup;