Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.10.2012, 15:10
Аспирант
Отправить личное сообщение для svs_js Посмотреть профиль Найти все сообщения от svs_js
 
Регистрация: 06.05.2012
Сообщений: 31

Работа со списками, удалить лишнее
Всем привет,

существует такой вопрос:

У меня есть список объектов

data = [
   {id: '1000', name: 'name1', url:''}, 
   {id: '1001', name: 'name2', url:''}, 
   {id: '1002', name: 'name3', url:''}, 
   {id: '1000', name: 'name4', url:''}
]



и мне необходимо удалить лишние объекты, у каких одинаковый АйДи...
Как лучше всего это сделать ? Большое спасибо.

Последний раз редактировалось svs_js, 03.10.2012 в 15:22.
Ответить с цитированием
  #2 (permalink)  
Старый 03.10.2012, 15:42
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от svs_js
Как лучше всего это сделать ?
Как вариант...
1. Пробежаться по массиву
2. Добавлять елемент в новый массив, если такой ИД не был записан в "промежуточный" объект и запоминать ИД в "промежуточный" объект
Ответить с цитированием
  #3 (permalink)  
Старый 03.10.2012, 23:24
Аватар для antonM
Кандидат Javascript-наук
Отправить личное сообщение для antonM Посмотреть профиль Найти все сообщения от antonM
 
Регистрация: 11.08.2011
Сообщений: 103

Не идеально конечно, но работает.
var newData = [];
for (var i = 0; i < data.length; i++) {
  var item = data[i].id;
  var add = true;
  for (var n = 0; n < newData.length; n++) {
    if (data[i].id == newData[n].id) {
      add = false;
    }
  }
  if (add) { 
    newData.push(data[i]);
  }
}


Рабочий пример тут. Результат смотрите в консоли.

Последний раз редактировалось antonM, 03.10.2012 в 23:34.
Ответить с цитированием
  #4 (permalink)  
Старый 05.10.2012, 10:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

antonM, гонять по массивам всякий раз не очень хороший подход...

Более удобно пробежаться один раз, "все выяснить"... А потом просто этим "пользоваться".
Я использовал такие абстрактные слова, т.к. реализация сильно зависит от языка реализации.
В JS для этого можно использовать объекты...
Ответить с цитированием
  #5 (permalink)  
Старый 05.10.2012, 12:20
Аватар для antonM
Кандидат Javascript-наук
Отправить личное сообщение для antonM Посмотреть профиль Найти все сообщения от antonM
 
Регистрация: 11.08.2011
Сообщений: 103

Ну я не претендовал на best of the best в начале поста написано.
Вы бы привели свой вариант.
Ответить с цитированием
  #6 (permalink)  
Старый 05.10.2012, 15:38
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

Сообщение от antonM
Вы бы привели свой вариант.
Смысл приводить букварский подход? Такое как раз и отводят на "самостоятельное" освоение...

Само описание алгоритма я дал выше...
Ответить с цитированием
  #7 (permalink)  
Старый 05.10.2012, 20:58
Аватар для antonM
Кандидат Javascript-наук
Отправить личное сообщение для antonM Посмотреть профиль Найти все сообщения от antonM
 
Регистрация: 11.08.2011
Сообщений: 103

ksa, тогда тыкните мне ссылку на букварский подход. Буду образовываться.
Ответить с цитированием
  #8 (permalink)  
Старый 08.10.2012, 09:24
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,217

antonM, что именно тебе показать?
Как добавлять свойства в объект?
http://javascript.ru/tutorial/object...vlenie-svoystv
Как проверять есть такое свойство в объекте или нет?
http://javascript.ru/typeof
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите как удалить div alex2012 jQuery 5 13.10.2016 17:43
Работа с select(выпадающими списками) Кирюха =) jQuery 2 22.08.2012 19:36
как удалить элемент в DOM? czp Общие вопросы Javascript 11 17.12.2011 20:55
Удалить тег без удаления содержимого DZHETIGAPA Элементы интерфейса 3 20.05.2011 09:18
Не могу выбрать и удалить клонируемые элементы AlexPrm jQuery 6 30.05.2010 15:58