【发布时间】:2021-09-21 03:26:42
【问题描述】:
我有这个日期数组。
const dateArray = ["7/12/2021","7/13/2021","7/14/2021","7/15/2021"]
我正在尝试查看这些日期中是否有任何日期出现在我的其他对象数组中,这些日期将与对象中的某些内容匹配。
const data = [
[ { id: 1, date: "7/13/2021" }, { id:2, date: "7/15/2021" } ],
[ { id: 1, date: "7/14/2021" }, { id:2, date: "7/15/2021" } ],
]
因此,如果日期不匹配,我想为该日期返回 0。像这样的
const result = [
[0, 1, 0, 1],
[0, 0, 1, 1]
]
我试过这样的.....
var getResult = (dateArray, data) => {
const result = []
let index = 0;
for (let i = 0; i < dateArray.length; i++) {
for (let j = 0; j < data.length; j++) {
let count = 0
if (dateArray[i] === data[j][index].date) {
count++
index++
if (index === data[i].length) {
return
}
}
result.push(count)
}
}
console.log(result)
}
但它当然不起作用.... 感谢您的帮助!
【问题讨论】:
-
结果是示例
data的预期输出吗?你能解释一下吗 -
所以要清楚这一点,首先检查数据数组中的日期是否存在于
dateArray数组中,如果存在则在结果数组中写入1,如果不存在则在结果数组中写入0结果数组? -
是的,结果是预期的输出,它应该从数据中的 dateArray 中计算日期的出现次数,对不起,我不清楚,但这可能吗?
标签: javascript arrays algorithm object find-occurrences