Показать сообщение отдельно
  #44 (permalink)  
Старый 20.08.2012, 17:13
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Сообщение от wawandas
Ребята! подскажите пожалуйста как извлечь уникальные значения из массива:

var array = [1,2,3,4,1,2,6,7];

заранее спасибо!
Моё решение в предположении, что в массиве хранятся числа и порядок чисел в выходном массиве не важен:
function unique(arr) {
  if (!arr.length)
    return [];
  var arr2=arr.concat().sort(function (x, y) {
    return x-y;
  });
  var result=[arr2[0]], i=0, len=arr2.length-1;
  while (i<len)
    if (arr2[i]!=arr2[++i])
      result.push(arr2[i]);
  return result;
}
//тесты
alert(unique([1,2,3,4,1,2,6,7]));
Ответить с цитированием