Выделить уникальные значения из массива можно при помощи следующей функции:
function arrayUnique( ar ) {
var a = [];
var l = ar.length;
for(var i = 0; i < l; i++) {
for(var j = i+1; j < l; j++) {
if (ar[i] === ar[j])
j = ++i;
}
a.push(ar[i]);
}
return a;
}
Пример:
var aList = [1,3,2,1,1,5,3,2]; alert( arrayUnique(aList) ); // результат 1,5,3,2
Также можно добавить функцию в класс Array:
Array.prototype.unique =
function() {
var a = [];
var l = this.length;
for(var i = 0; i < l; i++) {
for(var j = i+1; j < l; j++) {
if (this[i] === this[j])
j = ++i;
}
a.push(this[i]);
}
return a;
};
Пример:
var aList = [1,3,2,1,1,5,3,2]; alert( aList.unique() ); // результат 1,5,3,2
