Javascript уникальные элементы массива - PullRequest
1 голос
/ 07 ноября 2011

У меня есть такой массив:

var data = [
            { Group: 'A', Name: 'SD' },
            { Group: 'B', Name: 'FI' },
            { Group: 'A', Name: 'MM' },            
            { Group: 'B', Name: 'CO' }
           ];

Я хочу получить только уникальные значения группы в массиве, например:

var unique = ['A','B'];

Я посмотрел некоторые примеры на SO, но я их не понимаю. Может кто-нибудь сказать мне, как я должен это сделать?

Ответы [ 2 ]

2 голосов
/ 07 ноября 2011
var data = [
             { Group: 'A', Name: 'SD' },
             { Group: 'B', Name: 'FI' },
             { Group: 'A', Name: 'MM' },            
             { Group: 'B', Name: 'CO' }
           ];

var set = {};
for (var i = 0; i < data.length; i++)
    set[data[i].Group] = 1;

var arr = [];
for(var key in set)
    arr.push(key);

alert(arr);
0 голосов
/ 29 января 2016

Если вы используете ES6 / ES2015 или новее, вы можете сделать это следующим образом:

var unique = [...new Set(data.map(item => item.Group))];

Здесь - пример того, как это сделать.

...