I see a lot of posts about how to get the difference and symmetric difference of an array in javascript, but I haven\'t found anything on how to find the difference, includi
So, I'd:
This code is made to work on various browsers, thus I didn't use Array().indexOf and other newer methods of ECMAScript.
function difference(updated, original) {
var i, l;
/* copy original array */
var degradation = [];
for (var i = 0, ol = original.length; i < ol; ++i)
degradation[i] = original[i]
var diff = [];
for (i = 0, l = Math.max(updated.length, ol); i < l; ++i) {
var upd = updated[i];
var index;
var b, found;
/* find updated item in degradation */
for (b = 0, found = false; b < ol; ++b) {
if (degradation[b] === upd) {
/* remove item from degradation */
delete degradation[b];
found = true;
break;
}
}
if (!found)
diff.push(upd);
}
return diff;
}