Показать сообщение отдельно
  #1 (permalink)  
Старый 12.08.2015, 16:41
Аспирант
Отправить личное сообщение для Velidan Посмотреть профиль Найти все сообщения от Velidan
 
Регистрация: 13.02.2015
Сообщений: 32

Сравнить высоты элементов 2 массивов
Доброго дня уважаемые коллеги. Поиск выдал, что подобные запросы (Сравнение 2 массивов) слишком часто используются и ничего не выдал.

Подскажите пожалуйста, как лучше сделать так, чтобы можно было сравнить высоты элементов 2 массивов и назначить тому у которого меньше высота, высоту элемента у которого она больше.

Пытаюсь сделать так:

var tableItems = [].slice.call(this.table.querySelectorAll('td:first-child')),
            cloneItems = [].slice.call(this.cloneTable.querySelectorAll('td:nth-child(3)'));

        function compare(arr, arr2) {
            if (arr.length !== arr2.length) {return false; }
            var on = 0,
                i,
                j;

            for (i = 0; i < arr.length; ++i) {

                for (j = 0; j < arr2.length; ++j ) {

                    if (arr[i].offsetHeight !== arr2[j].offsetHeight) {
                                 arr[i].style.height = Math.max(arr[i].offsetHeight,   
                                                             arr2[j].offsetHeight) + 'px';
                          }

                }

            }

        }

       compare(tableItems, cloneItems);


Только у меня перемножение получается (в 2 массивав по 220 элементов и все сравнивается 48400).

Помогите разобраться, что я неправильно делаю. Заранее спасибо.

П.С. еще мне кажется, что я точно что-то не так делаю, потому что все очень долго думает.

Последний раз редактировалось Velidan, 12.08.2015 в 17:04.
Ответить с цитированием