Grep будет подбирать только те значения, которые вы хотите, и отбрасывать те, которые вам не нужны.
var persons = peopleArray;
$.each( users, function ( ii, user ) {
persons = jQuery.grep( persons , function ( person ) {
return ( person.userName !== user.name );
} );
} );
Или массив javascript fn {map, filter}:
var persons= [{name: "tom", age: 22 }, { name: "jerry", age: 23 }, { name: "XXX", age: 24 }]
, bads = [{ name: "XXX", pets: 9 }, { name: "YYY", pets: 6 }];
var badnames = bads.map(function(r){ return r.name });
alert( persons.filter( function(r) {
return badnames.indexOf( r.name ) !== 0
} ).map( function ( r ) {
return r.name
} ) );
EcmaScript 6
С сокращением (лямбда '=>') вы можете
var badnames = bads.map(r=>r.name );
alert( persons.filter( r=> badnames.indexOf( r.name ) !== 0 ).map(r=>r.name));
результат "Том, Джерри"