Показать сообщение отдельно
  #122 (permalink)  
Старый 10.12.2013, 00:31
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от Maxmaxmaximus4
 
Регистрация: 08.12.2013
Сообщений: 142

cyber, консоль закрой когда тесты делаешь)
а еще у меня реплейсов нет, подразумевается что ВСЕ реплейсы) ну для ui это сделать дешево получается, очень дешево.



вот моя функция, работает ядерно быстро

function compare(oArr, arr) {
  var nArr = arr.slice();
  var insert = []
  var remove = []


  for (var i = 0, index; i < oArr.length; i++) {
    index = nArr.indexOf(oArr[i]);
    if (index < 0) remove.push(i);
    else nArr[index] = void 0;
  }

  for (var i = 0; i < nArr.length; i++) {
    if (nArr[i] === void 0) continue;
    var index = remove.indexOf(i);
    if (index < 0) insert.push(i);
    else remove.splice(index, 1);
  }

  return {
    insert: insert,
    remove: remove
  }
}

Последний раз редактировалось Maxmaxmaximus4, 10.12.2013 в 00:41.
Ответить с цитированием