Arrays 如何通过比较数组(日期)和对象数组来生成json?

Arrays 如何通过比较数组(日期)和对象数组来生成json?,arrays,json,date,for-loop,Arrays,Json,Date,For Loop,我想比较node.js中的数组和对象数组,并在比较的基础上生成一个新的json对象。 在下面的代码中,我有“dateList”日期列表和结果json数组,现在我想比较dateList和result,如果结果对象有dateList的日期,那么我们必须得到执行值并推入新数组,如果不相等,那么我们必须推入为0 服务器代码: var日期列表=[ "2018-08-01", "2018-07-31", "2018-07-30", "2018-07-29", "2018-07-28", "2018-07-

我想比较node.js中的数组和对象数组,并在比较的基础上生成一个新的json对象。 在下面的代码中,我有“dateList”日期列表和结果json数组,现在我想比较dateList和result,如果结果对象有dateList的日期,那么我们必须得到执行值并推入新数组,如果不相等,那么我们必须推入为0

服务器代码:

var日期列表=[
"2018-08-01",
"2018-07-31",
"2018-07-30",
"2018-07-29",
"2018-07-28",
"2018-07-27",
"2018-07-26"
]
var结果=[{
CDate:“2018-07-31”,
执行情况:1
},
{
CDate:“2018-07-30”,
处决:2人
},
{
CDate:“2018-07-27”,
处决:3人
},
{
CDate:“2018-07-26”,
处决:2人
}
];
var allList=[];
用于(输入日期列表){
for(结果中的keyResult){
if(日期列表[key]==result[keyResult].CDate){
var obj={
“日期”:日期列表[键],
“值”:结果[keyResult]。执行
}
所有列表推送(obj);
打破
}否则{
var obj={
“日期”:日期列表[键],
“值”:0
}
所有列表推送(obj)
打破
}
}
}

console.log(allList)
表示
else
分支在内部数组中,但是只有当内部循环在
结果中未找到给定日期时,才希望推送
0-条目
,只有在循环结束时,您才知道该日期(新变量
found
跟踪它):

var日期列表=[
"2018-08-01",
"2018-07-31",
"2018-07-30",
"2018-07-29",
"2018-07-28",
"2018-07-27",
"2018-07-26"
]
var结果=[{
CDate:“2018-07-31”,
执行情况:1
},
{
CDate:“2018-07-30”,
处决:2人
},
{
CDate:“2018-07-27”,
处决:3人
},
{
CDate:“2018-07-26”,
处决:2人
}
];
var allList=[];
用于(输入日期列表){
var=false;
for(结果中的keyResult){
if(日期列表[key]==result[keyResult].CDate){
var obj={
“日期”:日期列表[键],
“值”:结果[keyResult]。执行
}
所有列表推送(obj);
发现=真;
打破
}//否则{
}
如果(!找到){
var obj={
“日期”:日期列表[键],
“值”:0
}
所有列表推送(obj)
//中断;
}
}

console.log(allList);
以上两种方法工作正常,在第二种方法逻辑中非常好。谢谢。)