我有两个对象数组,我想通过newData找到oldData数组和identifier数组之间的区别,显示差异,其中oldData的标识符与newData数组不同,下面是我的数组:
const newData = [
{
"extras": {},
"identifier": "13",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
},
{
"extras": {},
"identifier": "18",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
}
]
const oldData = [
{
"identifier": "13",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
},
{
"identifier": "12",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
}
]我在这里做的是:
let testDifference = _.differenceBy(newData, oldData, "identifier")我的期望,我会得到
[
{
"identifier": "12",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
},
]实际上,我得到的是空数组,我做错了什么?如何使它正确工作?
发布于 2019-09-11 11:38:26
我认为您只需要将前两个参数切换到differenceBy,就可以得到预期的结果。您可以将其看作是第一个数组项(),除了(第二个数组项)。
const newData = [{
"extras": {},
"identifier": "13",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
}]
const oldData = [{
"identifier": "13",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
},
{
"identifier": "12",
"latitude": 39.13063,
"loiteringDelay": 1000,
"longitude": -86.58286,
"notifyOnDwell": false,
"notifyOnEntry": true,
"notifyOnExit": true,
"radius": 30,
}
];
let whatDelete = _.differenceBy(oldData, newData, "identifier");
console.log(whatDelete);<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>
https://stackoverflow.com/questions/57888023
复制相似问题