Показать сообщение отдельно
  #7 (permalink)  
Старый 24.05.2018, 13:08
Аватар для Alexandroppolus
Профессор
Отправить личное сообщение для Alexandroppolus Посмотреть профиль Найти все сообщения от Alexandroppolus
 
Регистрация: 25.10.2016
Сообщений: 1,005

function removeDoubles(src, target) {
  target = target || [];
  var names = Object.create(null);
  var pos = 0, qnum = 0;
  for (var i = 0, len = src.length; i < len; i += 2) {
    if (!names[src[i]]) {
      names[src[i]] = true;
      target[pos++] = src[i];
      target[pos++] = ++qnum;
    }
  }
  target.length = pos;
  return target;
}

var arr = 'A,1,B,2,C,3,A,4'.split(',');

alert(removeDoubles(arr).join(','));


если надо удалить дубли в исходном массиве, то removeDoubles(arr, arr)
Ответить с цитированием