Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как найти различие между двумя массивами? (https://javascript.ru/forum/offtopic/43511-kak-najjti-razlichie-mezhdu-dvumya-massivami.html)

Maxmaxmaximus4 10.12.2013 01:15

Poznakomlus, из какого еще примера? куда перенял? ты вообще о чем? я говорю свойство длинны кэшируется и не вычисляется каждый раз, оно движком кэшируется, что непонятного?

cyber 10.12.2013 01:20

Цитата:

Сообщение от Maxmaxmaximus4
да мазафака, эти оптимизации хромовские не поймешь)

У меня даже ИЕ forEach быстрей обрабатывает))
П.с эти мудаки нормальную консоль сделали О_О

Maxmaxmaximus4 10.12.2013 01:22

Цитата:

Сообщение от cyber
П.с эти мудаки нормальную консоль сделали О_О

ахахаха дадаададада у всех такая реакция)

Цитата:

Сообщение от cyber
У меня даже ИЕ forEach быстрей обрабатывает))

на много?

Maxmaxmaximus4 10.12.2013 01:27

Цитата:

Сообщение от cyber
У меня даже ИЕ forEach быстрей обрабатывает))

у меня разницы нет, но оставлю так потому что красивее:

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

  oArr.forEach(function(val, i) {
    var index = nArr.indexOf(val);
    if (index < 0) remove.push(i);
    else nArr[index] = void 0;
  });

  nArr.forEach(function(val, i) {
    if (val === void 0) return;
    var index = remove.indexOf(i);
    if (index < 0) insert.push(i);
    else remove.splice(index, 1);
  });

  return {
    insert: insert,
    remove: remove
  }
}

cyber 10.12.2013 01:29

мозила тормоз еще тот...

мозила


ие

хром

Maxmaxmaximus4 10.12.2013 01:30

cyber, чувак, ты чо не умеешь среднее арифметическое вычислять)?

cyber 10.12.2013 01:32

Maxmaxmaximus4, зачем?)
Если серьезно то у меня есть функция для сравнения скорости, но мне влом что то делать уже кроме как нажимать кнопку "просмотр"

Maxmaxmaximus4 10.12.2013 01:47

Цитата:

Сообщение от cyber
splice не вырезает элементы

на чем основано это утверждение?

по поводу форов, for быстрее

function test(callback, cnt) {
    var time = 0;
    var i = 100;
    while (i--) {
      var j = cnt;
      var start = Date.now();
      while (j--) callback();
      time += Date.now() - start
    }
    return time / 100;
  }

  var array = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
  var time = test(function() {
    for (var i = 0; i < array.length; i++) {
      array[i] = array.length[i];
    }
  }, 10000)

  var time2 = test(function() {
    array.forEach(function(val, i) {
      array[i] = val
    })
  }, 10000)

  alert('for ' + time + 'ms');
  alert('forEach ' + time2 + 'ms');

cyber 10.12.2013 01:51

Maxmaxmaximus4, у меня разницы в скорости нет))

Maxmaxmaximus4 10.12.2013 01:52

Цитата:

Сообщение от cyber
у меня разницы в скорости нет))

ну у меня тоже, но бывает что ЕСЛИ И ЕСТЬ то выигрывает for, то есть ни разу не было чтобы разница БЫЛА а выиграл forEach


Часовой пояс GMT +3, время: 00:34.