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

Javascript简单匹配缺少一个值

Javascript简单匹配缺少一个值,javascript,Javascript,我有一个如下所示的数组: [ { "date": "2021-04-06", "count": 270 }, { "date": "2021-04-13", "count": 10 } ] 还有一个小函数,其任务是创建一个包含14项的数组,其中每个项要么是与该日期相关联的计数(如

我有一个如下所示的数组:

[
    {
        "date": "2021-04-06",
        "count": 270
    },
    {
        "date": "2021-04-13",
        "count": 10
    }
]

还有一个小函数,其任务是创建一个包含14项的数组,其中每个项要么是与该日期相关联的计数(如果该日期与循环中的日期匹配),要么是为未定义的日期添加一个-

// take the date and map to the twoweekarray to see on which dates fall which count by combining them together
let combined = dates.map(function(item, index) {
  return {date: item, count: twoWeekArray[index]};
});

// set up arr and find the last day of these 2 weeks
let combinedDashValueArrayForTotalDay = [];

// go through 14 iterations for 2 weeks,
for (let i = 0; i < 15; i++) {
  let nextDay = moment().add(i, "days").format('YYYY-MM-DD');
  
  if(combined[i] !== undefined) {
    if (nextDay === moment(combined[i].date).format('YYYY-MM-DD') ) {
      combinedDashValueArrayForTotalDay.push(combined[i].count)
      console.log('combinedI', combined[i].count)
    }
  } else {
    combinedDashValueArrayForTotalDay.push('-')
  }
}

我错过了什么?为什么它会跳过该值?这是我的时间配置有问题吗?如果是这样的话,它为什么要抓取第一项呢?

那么您提供的是一个包含两个对象的数组

[
{
“日期”:“2021-04-06”,
“计数”:270
},
{
“日期”:“2021-04-13”,
“计数”:10
}
]
在此处迭代此数组时:

for(设i=0;i<15;i++){
....
if(组合[i]!==未定义){
....
那就永远是这样了

}其他{
组合的AshValueArrayForTotalDay.push(“-”)
}
对于超过
1
的id,因为只有
0
1
中,如果(合并的[i]!==未定义的)
,那么它不可能是这样的
[270,-,-,-,-,-,-,-,-,10,-,-,-,-,-,-,-,-,-,-,-,-,-,--
它可以是这样的。因此,您需要有一些id来跟踪您当前在
组合的
数组中的位置,或者,对于(让i=0;i<15;i++){

可能的解决办法:

const日期=[
{日期:10,计数:150},
{日期:2,计数:100},
{日期:5,计数:1000000}
]
常量结果=[]
for(设i=0;i<15;i++){
让match=false
for(设j=0;jconsole.log(result)
很好,解释,谢谢。虽然您的回答在技术上没有提供解决方案。嗯,让我在您离开之前编辑它,希望您理解我的意思修复了一个问题,抱歉
[270, -, -, -, -, -, -, 10, -, -, -, -, -, -, -]