使用JavaScript比较两个数据集

时间:2019-02-05 14:48:33

标签: javascript

我有2个数据集对象,如果两个对象中都存在相同的true,我想返回id

我尝试使用ES6功能some来实现它,但无法使其正常工作。

datalog1 = [{
  "id": 12501,
  "addedOn": "2019-02-04T16:49:09.3245844+00:00"
}, {
  "id": 12498,
  "addedOn": "2019-02-04T15:48:38.8310577+00:00"
}]
datalog2 = [{
  "id": 12501,
  "addedOn": "2019-02-04T15:19:54.3464314+00:00"
}]

let found = dataLog1.some(dataLog => dataLog.includes(dataLog2))

console.log(found)

2 个答案:

答案 0 :(得分:1)

在您的代码中,您使用0,1,2,..作为对象的键。您应该使用Arrays。您可以循环浏览dataLog的每一项,并找出其ID是否存在于任何{{ 1}}项

dataLog2

答案 1 :(得分:0)

如果您的数据集由于每次迭代都对另一个数据集进行迭代而不太大,则采用朴素的方法。并假设您发布的内容不正确,而您实际上是在谈论对象数组(我猜是因为看起来像数组更有意义):

const found = dataLog.some(item => dataLog2.some(item2 => item2.id === item.id))