Что-то совсем не получается отфильтровать данный массив:
[ { num: 'iv', group: 'p', title: '1' },
{ num: 'iv', group: 'p', title: '2' },
{ num: 'v', group: 'p', title: '3' },
{ num: 'iv', group: 'n', title: '4' },
{ num: 'iv', group: 'p', title: '5' },
{ num: 'iv', group: 'm', title: '6' },
{ num: 'vi', group: 'p', title: '7' } ]
Нужно отфильтровать объекты с одинаковыми значениями в num и group, чтобы на выходе получить
[ { num: 'iv', group: 'p', title: '1' },
{ num: 'v', group: 'p', title: '3' },
{ num: 'iv', group: 'n', title: '4' },
{ num: 'iv', group: 'm', title: '6' },
{ num: 'vi', group: 'p', title: '7' } ]
Отфильтровать по одному полю получается:
var used = {};
var clean = arr.filter(function(obj, i) {
return (obj.num in used) ? 0 : (used[obj.num] = 1);
});
А вот по двум полям сравнить ну никак не получается.