【发布时间】:2020-08-15 21:27:18
【问题描述】:
我有任何对象数组:
array1 = [
{id: "1", policy: "abc", date: "20-05-2019" },
{id: "4", policy: "hjk", date: "12-05-2019" },
{id: "5", policy: "ikl", date: "08-05-2019" },
{id: "7", policy: "qwe", date: "20-05-2019" },
{id: "8", policy: "bdd", date: "04-05-2019" },
]
我有另一个像这样的大数组:
array2 = [
{
"info" : { "insuredPolicy" : "qwe", },
"date" : { "sDate" : 20-05-2019, "eDate" : 20-06-2019 }
},
{
"info" : { "insuredPolicy" : "ikl", },
"date" : { "sDate" : 20-05-2019, "eDate" : 20-06-2019 }
},
{
"info" : { "insuredPolicy" : "bbb", },
"date" : { "sDate" : 20-05-2019, "eDate" : 20-06-2019 }
},
{
"info" : { "insuredPolicy" : "bdd", },
"date" : { "sDate" : 04-05-2019, "eDate" : 20-05-2019 }
},
];
我想将 array1 中的所有策略字段和日期字段与 array2 进行比较(假设 array2 非常大)。 然后,如果策略字段(数组 1)与保险策略(数组 2)匹配,并且数组 1 中的日期字段与数组 2 中的 sDate 匹配,则创建对象数组
所以输出将是:
array3 = [
{ policy: "qwe", date: "20-05-2019" },
{ policy: "bdd", date: "04-05-2019" },
];
在学习阶段,任何帮助将不胜感激。
编辑
如何比较 array2 是否提前一天包含 sDate?如果是这样,则将 sDate 减少 1 天,然后进行比较。我们怎样才能做到这一点?
提前致谢。
【问题讨论】:
标签: javascript arrays node.js object filter