【发布时间】:2019-02-15 23:04:33
【问题描述】:
我有 2 组 javascript 对象,一组包含一个新项目,另一组包含一个项目数组。
我希望能够根据两对键和值(dateFrom 和 dateTo ,并且理想情况下,即使新项目位于现有项目的任何日期之间)。
const newItem = [{
id: null,
dateFrom: '2019-02-01',
dateTo: '2019-02-28'
}]
const existingItems = [{
id: 1,
dateFrom: '2019-01-01',
dateTo: '2019-01-31'
},{
id: 2,
dateFrom: '2019-02-01',
dateTo: '2019-02-28'
},{
id: 3,
dateFrom: '2019-03-01',
dateTo: '2019-03-31'
}]
我想要的是能够将这两个项目传递给一个函数,该函数将返回一个布尔值答案,说明新项目是否不存在于现有的项目集合中。 提前致谢! 我猜测是这样的:
checkDateRanges(newItem, existingItems) {
forEach.existingItems(item => {
item.dateFrom = newItem.dateFrom ||
item.dateTo = newItem.dateTo
})
}
【问题讨论】:
-
这并不难,但你能更明确地说明你想要什么,例如 from 和 to 应该完全匹配吗?还是应该重叠或被包含?另外,如果您控制
data,我强烈建议您将日期存储为数字。
标签: javascript arrays object compare