【发布时间】:2018-09-23 16:19:06
【问题描述】:
我在互联网上搜索了很多,我认为这将是一个非常简单的任务,但我没有找到任何解决方案
这是我的两个对象数组
第一个数组
[
{ id: 2, fees: 10000, name: 'Yearly Plan', cycle: 12 },
{ id: 3, fees: 1500, name: 'Two Months Plan', cycle: 2 },
{ id: 4, fees: 2500, name: 'Three Months Plan', cycle: 3 },
{ id: 5, fees: 3000, name: 'Four Months Plan', cycle: 4 },
{ id: 181, fees: 4000, name: 'Five Months Plan', cycle: 5 },
{ id: 182, fees: 5000, name: 'Six Months Plan', cycle: 6 },
{ id: 183, fees: 6000, name: 'Seven Months Plan', cycle: 7 }
]
第二个数组
[
{ id: 2, fees: 10000, name: 'Yearly Plan', cycle: 12 },
{ id: 3, fees: 1500, name: 'Two Months Plan', cycle: 2 },
{ id: 4, fees: 2500, name: 'Three Months Plan', cycle: 3 }
]
我想得到两个对象数组之间的差异,我想要这样的结果
第一个数组 - 第二个数组 =(第一个数组中存在但第二个数组中不存在的对象数组)
[ { id: 5, fees: 3000, name: 'Four Months Plan', cycle: 4 },
{ id: 181, fees: 4000, name: 'Five Months Plan', cycle: 5 },
{ id: 182, fees: 5000, name: 'Six Months Plan', cycle: 6 },
{ id: 183, fees: 6000, name: 'Seven Months Plan', cycle: 7 } ]
我尝试了很多方法,比如像这样的过滤器
let c = existingBillPlans.filter(item =>
!billPlans.some(other => item.x == other.x));
但它给出的是空数组。无法理解我应该做什么。
【问题讨论】:
-
我们的答案呢?
标签: javascript arrays ecmascript-6 javascript-objects ecmascript-5