Array objects difference javascript angularjs -


i have 2 array objects , want difference between them follows:

array1 = [{"name":"mpcc","id":"tool:mpcc"}, {"name":"app","id":"tool:app"}, {"name":"aii","id":"tool:aii"}, {"name":"vzz","id":"tool:vzz"}, {"name":"usu","id":"tool:usu"}]  array2 = [{"name":"app","id":"tool:app"}, {"name":"usu","id":"tool:usu"}]  result = [{"name":"mpcc","id":"tool:mpcc"}, {"name":"aii","id":"tool:aii"}, {"name":"vzz","id":"tool:vzz"}] 

here code:

$scope.initial = function(base, userdata){     var result = [];     angular.foreach( base, function(baseitem) {         angular.foreach( userdata, function( useritem ) {             if ( baseitem.id !== useritem.id ) {                 if (result.indexof(baseitem) < 0) {                      result.push(baseitem);                 }             }         });     });     return result; } $scope.initial(array1, array2); 

the problem above code dont desired result. please let me know going wrong.

that not related angular.

you this:

var result = array1.filter(function(item1) {   (var in array2) {     if (item1.id === array2[i].id) { return false; }   };   return true; }); 

or es6 syntax:

var result = array1.filter(i1 => !array2.some(i2 => i1.id === i2.id));