Javascript数组在对象具有相同值时不推送

Javascript数组在对象具有相同值时不推送,javascript,php,arrays,object,push,Javascript,Php,Arrays,Object,Push,对象忽略具有相同值的其他数组。 比如说 data[2018][2][25] <-- this ones gets ignored to the object data[2018][2][22] 数据[2018][2][25] 数据[]={}; 数据[][]={}; 数据[][]={}; //$num=$calendarDay[$s]; 试一试{ 数据[]。推送({ 开始时间:“, 结束时间:“, 案文:“” 问题在于每次通过循环时,您都会完全替换该属性中的现有对象。更改: data[&

对象忽略具有相同值的其他数组。 比如说

data[2018][2][25] <-- this ones gets ignored to the object
data[2018][2][22] 
数据[2018][2][25]
数据[]={};
数据[][]={};
数据[][]={};
//$num=$calendarDay[$s];
试一试{
数据[]。推送({
开始时间:“,
结束时间:“,
案文:“”

问题在于每次通过循环时,您都会完全替换该属性中的现有对象。更改:

data[<?php echo $calendarYear[$r]?>] = {};
data[]={};
致:

if(!data[])){
数据[]={};
}

类似于所有其他初始化。

您的代码在语句的中间结束。
data[<?php echo $calendarYear[$r]?>] = {};
if (!data[<?php echo $calendarYear[$r]?>]) {
    data[<?php echo $calendarYear[$r]?>] = {};
}