JavaScript数组包含元素,但长度返回0

JavaScript数组包含元素,但长度返回0,javascript,arrays,date,Javascript,Arrays,Date,我正在创建2个给定日期之间的天数数组,键的格式应为DD/MM/YYYY,值应为数字(为每个日期设置的价格) 它似乎可以工作,因为数组包含我(通过日期选择器)给它的值,但我不能循环遍历这个数组,可能是因为它的长度返回0,即使它包含元素 下面是控制台日志语句的屏幕截图 下面是创建数组的代码 var arrayOfDatesBetween = new Array(); // daysBetween = integer representing the count of days betwee

我正在创建2个给定日期之间的天数数组,键的格式应为DD/MM/YYYY,值应为数字(为每个日期设置的价格)

它似乎可以工作,因为数组包含我(通过日期选择器)给它的值,但我不能循环遍历这个数组,可能是因为它的长度返回0,即使它包含元素

下面是控制台日志语句的屏幕截图

下面是创建数组的代码

  var arrayOfDatesBetween = new Array();
  // daysBetween = integer representing the count of days between the chosen dates
  for (let i = 0; i < daysBetween; i++) {
    // just add one day on each iteration but keep count of the first
    let q = i === 0 ? i : 1;
    let _date = _dateIn.setDate(_dateIn.getDate()+q);
    // lcsgDate() formats the date as I need it: DD/MM/YYYY
    let __date = lcsgDate(_date);
    // getDatePrice() gets the price for the given date by searching into another Array of date:price
    arrayOfDatesBetween[__date] = getDatePrice(__date);
  }
  // result
  console.log(arrayOfDatesBetween);
var arrayOfDatesBetween=new Array();
//daysBetween=整数,表示所选日期之间的天数
for(设i=0;i
我确认将
数组和对象之间的
arrayOfDates更改解决了这个问题,我现在可以使用非整数作为键,正如我所需要的那样,感谢您的评论并为我指明了正确的方向

让arr=[1,2,3]
arr['someCustomDate']='someCustomData'
控制台日志(arr)/[1,2,3]

console.log(arr['someCustomDate'])
“10/07/2018”
不是整数索引。如果它有键,则它不是数组;一个数组具有指示符。考虑将格式更改为<代码> [ {0}:'09/ 07/2018’,'价格':'44’},{“日期”:'09//','价格':'45’} /代码>,这将使它更容易。traverse@melpomene所以我可以用一个物体来做?对象有键,请不要添加注释作为答案。将评论作为评论发布,并将附加信息作为问题的编辑。这是一个有意的回答,因为它解决了问题,我正在等待stackoverflow施加的2天,然后才能将其标记为已接受。