Показать сообщение отдельно
  #3 (permalink)  
Старый 16.01.2018, 23:52
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Универсальное решение сложное и парой строк там не отделаешься, а если под конкретный случай то примерно так:
Array.prototype.unique = function( comparator ) {	
	if(typeof comparator !== 'function') 
		comparator = function(first, second){return first === second};	
	var i = this.length, j;

	while(i--) for(j = i; j--;)
		if(comparator(this[i], this[j]))
			this.splice(j, 1);

	return this;
}


var array = [
	{gID: "11", val: "-200"},
	{gID: "22", val: "-200"},
	{gID: "11", val: "-200"},
	{gID: "22", val: "-200"},
	{gID: "33", val: "-200"},
	{gID: "22", val: "-200"},
	{gID: "66", val: "-200"}
];

array.unique(function(first, second){
	return first.gID === second.gID && first.val === second.val 
});

alert(JSON.stringify(array, 0, '\t'))
__________________
29375, 35
Ответить с цитированием