我有一个对象menuProduitSet []数组, 推送到'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);
}
}
});
答案 0 :(得分:1)
我建议如果您可以使用Javascript库,例如下划线或lodash,请查看 .uniq函数。 .uniq - Underscore.js - _.uniq - Lodash
所以当你有最后一个数组(menuProduitSet)时:
// 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; });