Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.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_Arrays_Comparison - Fatal编程技术网

Javascript中数组的比较与组合

Javascript中数组的比较与组合,javascript,arrays,comparison,Javascript,Arrays,Comparison,我有三个阵列: var dates = ['07/31/2013', '08/01/2013', '08/02/2013', '08/03/2013', '08/04/2013', '08/05/2013', '08/06/2013', '08/07/2013']; dates数组包含一周范围内的每个日期 var meetingdates = ['07/31/2013', '08/02/2013', '08/03/2013', '08/04/2013', '08/05/2013', '08/0

我有三个阵列:

var dates = ['07/31/2013', '08/01/2013', '08/02/2013', '08/03/2013', '08/04/2013', '08/05/2013', '08/06/2013', '08/07/2013'];
dates数组包含一周范围内的每个日期

var meetingdates = ['07/31/2013', '08/02/2013', '08/03/2013', '08/04/2013', '08/05/2013', '08/07/2013'];
meetingdates数组包含日期,其中有一个或多个会议

var meetings = ['1', '3', '2', '4', '1', '5']
meetings数组包含
meetingdates
日期上的会议数

我想将
日期
数组与
会议
数组进行比较,如果
会议数组
中存在
日期
中的条目,我想将属于该日期的会议数放入一个新数组,如果没有匹配项,将插入0:

因此,在将
会议日期与
日期进行比较后,这将是最终结果

 meetingsPerDate =  ['1', '0', '3', '2', '4', '1', '0', '0'];
我尝试使用以下循环
解决此问题:

if(dates[y] == meetingdates [y]){
    meetingsPerDate [y] = meetings [y];
    }else {
         meetingsPerDate[y] = 0;
          }  
     }
我知道我将丢失一些数字,因为两个数组不遵循相同的模式,但我真的不知道如何解决这个问题

我希望我已经很好地解释了我的问题,如果没有,请告诉我

非常感谢您的帮助


谢谢

使用对象而不是数组:

var meetings = {
    '07/31/2013': 1,
    '08/02/2013': 3,
    '08/03/2013': 2,
    '08/04/2013': 4,
    '08/05/2013': 1,
    '08/07/2013': 5
}
然后只需将新日期添加到其中:

var date;

for (var i = 0; i < dates.length; i++) {
    date = dates[i];

    if (date in meetings) {
        meetings[date] += 1;
    } else {
        meetings[date] = 1;
    }
}
var日期;
对于(变量i=0;i
不确定这是否是最佳解决方案。但我设法找到了问题的答案:

for (var i = 0; i < dates.length; i++) {
    var arrayIndex = meetingdates.indexOf(dates[i]);

    if (arrayIndex == -1) {
        console.log(dates[i] + ' ' + 0);
    } else {
        console.log(dates[i] + ' ' + meetings[arrayIndex]);
  }
for(变量i=0;i

这个小循环返回的正是我所需要的。

感谢您的输入!但我自己设法找到了解决方案。