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;j console.log(result)
很好,解释,谢谢。虽然您的回答在技术上没有提供解决方案。嗯,让我在您离开之前编辑它,希望您理解我的意思修复了一个问题,抱歉
[270, -, -, -, -, -, -, 10, -, -, -, -, -, -, -]