使用javascript从数组中删除重复对象

使用javascript从数组中删除重复对象,javascript,arrays,duplicates,Javascript,Arrays,Duplicates,我有一个object MenupDuitSet[]数组, 推到对象的对象“menuProduit”后 如何删除重复的对象 var menuProduitSet = []; $('select').children('optgroup').children('option:selected').each(function () { var ch = $(this).parent().parent().parent().parent().attr('class').s

我有一个object MenupDuitSet[]数组, 推到对象的对象“menuProduit”后 如何删除重复的对象

var menuProduitSet = [];
        $('select').children('optgroup').children('option:selected').each(function () {
        var ch = $(this).parent().parent().parent().parent().attr('class').substring(4, 5);
                   if (ch !== 'undefined') {
                       if (ch !== 'c') {
                            var produit = {"prodId": $(this).val()};
                            var menuProduit = {menuProduitPK: {menu: menu["menuId"], produit: produit["prodId"], choix: ch}, menu: {menuId: menu["menuId"]}, produit: {prodId: produit["prodId"]}};
                            menuProduitSet.push(menuProduit);
                        }
                    }
                });

我建议如果可以使用下划线或lodash等Javascript库,请查看.uniq函数。 -

因此,当您拥有最终数组(menupuduitset)时:


不工作,因为一个对象中有3个对象
// by menu.menuId:
var byMenuId = _.uniq(menuProduitSet, function(m){ return m.menu.menuId; }); 

// by produit.prodId 
var byProdId = _.uniq(menuProduitSet, function(m){ return m.produit.prodId; });