Javascript.RU

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

Удаление элементов через splice. возможно ли оптимизировать?
вот такой образчик кода
где-то сверху функции
arr=[];

где-то глубоко внутри нескольких вложенных циклов
var N1 = ... сложения, умножения элементов других массивов
var N2 = ... сложения, умножения элементов других массивов
var elem = {polza:N1, cena:N2, id:N3};
var add =  del = true;
while (del){
   del = false;
   for (var i = 0; i < arr.length; ++i){
      if ((arr[i].polza >= elem.polza) && (arr[i].cena <= elem.cena)){
         add=false; break;
      }
      if ((arr[i].polza <= elem.polza) && (arr[i].cena >= elem.cena)){
         del = true;
         arr.splice(i,1);
         --i;
         continue;
      }
   }
}
if (add) arr.push(elem);

обычными словами что делает код - он ищет подмножество элементов, обладающих лучшим соотношением качество:стоимость. То есть, если на вход "чёрного ящика" подать
[{5,3}, {2,7}, {2,1}, {8,7},{6,5},{3,2},{4,5}, {4,2}, {2,1}]
- то на выходе мы должны получить
{5,3}, {2,1}, {8,7}, {6,5}, {4,2}

последовательность входящих элементов никак не отсортирована, итоговый array создаётся в процессе работы, и при необходимости его можно делать упорядоченным по любому из нужных полей (если будет происходить какая-то оптимизация от этого; так как в итоге там 10-15 элементов остаётся, и окончательная сортировка - не проблема по времени).
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JQuery, анимация для нескольких элементов сразу, возможно ли? Logo jQuery 21 29.05.2012 21:50
Как выводить часть элементов страницы через javascript Victim Events/DOM/Window 9 28.12.2011 21:51
Мультиселект элементов через запятую с возможностью удаления IgorN jQuery 4 07.09.2011 11:12
Выборка элементов у которых есть данные установленные через дата TicTac jQuery 2 02.05.2011 23:45
Не та кодировка при изменении элементов DOM, загружаемых через ajax ShootNik Серверные языки и технологии 16 14.10.2010 09:55