2つのオブジェクトの配列を比較し、同じプロパティ値を持つ2つ目のオブジェクトを削除するだけです。オブジェクトの2つの配列を比較し、同じプロパティ値を持つ2番目のアイテムを削除します
var a = [{'name':'bob', 'age':22}, {'name':'alice', 'age':12}, {'name':'mike', 'age':13}];
var b = [{'name':'bob', 'age':62}, {'name':'kevin', 'age':32}, {'name':'alice', 'age':32}];
function remove_duplicates(a, b) {
for (var i = 0, len = a.length; i < len; i++) {
for (var j = 0, len = b.length; j < len; j++) {
if (a[i].name == b[j].name) {
b.splice(j, 1);
}
}
}
console.log(a);
console.log(b);
}
console.log(a);
console.log(b);
remove_duplicates(a,b);
これが機能し、代わりに与えていない理由を私は理解することはできません:
[{'name':'kevin', 'age':32}];
...文字列化JSONに変換して、状態を確認する必要がありますあなたのループ内の 'len'変数の再定義のため –