JSFiddle - React, Tailwind, and code Playground

by Sam G

JavaScript

var oa = [{
    "Name": "Single",
    "URL": "xxx",
    "ID": 123
},
{
    "Name": "Double",
    "URL": "yyy",
    "ID":  345
},
{
    "Name": "Family",
    "URL": "zzz",
    "ID": 567
}];

var da = [{
    "Name": "Single",
    "URL": "xxx",
    "ID": 123
},
{
    "Name": "Double",
    "URL": "yyy",
    "ID":  888
},
{
    "Name": "Family",
    "URL": "zzz",
    "ID": 567
}];
var result = [];

for(var i = 0; i < oa.length; i++) {
    var idx = mIndexOf(oa[i].ID);
    if(idx > -1) {
        oa.splice(i, 1);
        da.splice(idx, 1);
    }
}

for(var i = 0; i < oa.length; i++) {
    var ln = result.length;
    result[ln] = oa[i];
    result[ln].desc = "missing in destination";
}
for(var i = 0; i < da.length; i++) {
    var ln = result.length;
    result[ln] = da[i];
    result[ln].desc = "missing in origin";
}

console.log(result);

function mIndexOf(id) {
    for(var i = 0; i < oa.length; i++)
        if(oa[i].ID == id)
            return i;
    return -1;
}