Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.12.2013, 17:44
Новичок на форуме
Отправить личное сообщение для truten Посмотреть профиль Найти все сообщения от truten
 
Регистрация: 14.12.2013
Сообщений: 5

Получить массив без повторяющихся элементов
Помогите доделать лаб.работу, написать функцию, возвращающую массив без повторяющихся элементов, при этом чтобы не изменялся порядок следования элементов.
Например для [1,7,2,1,5,8,2,3,4,5,9,5,7] функция должна вернуть [1,7,2,5,8,3,4,9].
Ответить с цитированием
  #2 (permalink)  
Старый 14.12.2013, 18:12
Профессор
Отправить личное сообщение для Faab Посмотреть профиль Найти все сообщения от Faab
 
Регистрация: 16.04.2012
Сообщений: 310

вот здесь автор предлагает два разных решений http://learn.javascript.ru/array-methods
Ответить с цитированием
  #3 (permalink)  
Старый 14.12.2013, 19:34
Аватар для Demath
Профессор
Отправить личное сообщение для Demath Посмотреть профиль Найти все сообщения от Demath
 
Регистрация: 22.06.2012
Сообщений: 168

Или так (порядок сохраняется)

function Unique(A)
{
    var n = A.length, k = 0, B = [];

    for (var i = 0; i < n; i++) 
     { var j = 0;
       while (j < k && B[j] !== A[i]) j++;
       if (j == k) B[k++] = A[i];
     }

    return B;
}

alert( Unique([1,7,2,1,5,8,2,3,4,5,9,5,7]) );
Ответить с цитированием
  #4 (permalink)  
Старый 15.12.2013, 11:54
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от Maxmaxmaximus5
 
Регистрация: 14.12.2013
Сообщений: 129

Дзен-трансгуманист,
function uniqueMap ( array ) {
 
  return array.filter( function ( value ) {
    return !this.has( value ) && !this.set( value, true );
  },
  new Map());
}


охренеть что это
Ответить с цитированием
  #5 (permalink)  
Старый 15.12.2013, 12:34
Профессор
Отправить личное сообщение для SV0L0CH Посмотреть профиль Найти все сообщения от SV0L0CH
 
Регистрация: 07.11.2010
Сообщений: 301

Если в Map использовать логические значения, то лучше уж брать Set.
Хотел показать свой вариант, но он на кофескрипте.
Ответить с цитированием
  #6 (permalink)  
Старый 15.12.2013, 20:35
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Сообщение от Maxmaxmaximus5 Посмотреть сообщение
Дзен-трансгуманист,
function uniqueMap ( array ) {
 
  return array.filter( function ( value ) {
    return !this.has( value ) && !this.set( value, true );
  },
  new Map());
}


охренеть что это
Очнулся, в ECMA6 ввели новые типы данных: WeakMap, Map и Set, а теперь быстро гуглить по теме и не задавать больше таких вопросов)
__________________
kobezzza
code monkey
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
получить количество элементов в div woo Общие вопросы Javascript 4 06.06.2010 22:41
получить количество элементов... woo jQuery 1 06.06.2010 18:31
как записать id всех элементов в массив? SunYang Общие вопросы Javascript 21 06.02.2010 22:50
Не могу получить id элементов в таблице. LowCoder Общие вопросы Javascript 2 05.07.2009 14:53