Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过澄清的洛达斯差异_Javascript_Reactjs_React Native_Lodash - Fatal编程技术网

Javascript 通过澄清的洛达斯差异

Javascript 通过澄清的洛达斯差异,javascript,reactjs,react-native,lodash,Javascript,Reactjs,React Native,Lodash,我有两个对象数组,我想通过identifier查找newData和oldData数组之间的差异,显示差异,其中oldData的标识符不同于newData数组,以下是我的数组: const newData = [ { "extras": {}, "identifier": "13", "latitude": 39.13063, "loiteringDelay": 1000, "longitude": -86.5

我有两个对象数组,我想通过
identifier
查找newData和oldData数组之间的差异,显示差异,其中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,
    },
]

实际上,我得到的是空数组,我做错了什么?如何使其正确工作

我认为您只需将前两个参数切换到
differenceBy
,即可获得预期的结果。您可以将其视为第一个数组项,第二个数组项除外。
const newData=[{
“临时演员”:{},
“标识符”:“13”,
“纬度”:39.13063,
“游荡延迟”:1000,
“经度”:-86.58286,
“notifyOnDwell”:错误,
“尝试”:正确,
“notifyOnExit”:正确,
“半径”:30,
}]
常数数据=[{
“标识符”:“13”,
“纬度”:39.13063,
“游荡延迟”:1000,
“经度”:-86.58286,
“notifyOnDwell”:错误,
“尝试”:正确,
“notifyOnExit”:正确,
“半径”:30,
},
{
“标识符”:“12”,
“纬度”:39.13063,
“游荡延迟”:1000,
“经度”:-86.58286,
“notifyOnDwell”:错误,
“尝试”:正确,
“notifyOnExit”:正确,
“半径”:30,
}
];
让whatDelete=u.differenceBy(oldData,newData,“identifier”);
控制台日志(whatDelete)

奇怪,我先试了一下,但没用。我一定是打错了什么东西。