Здравствуйте. Есть у меня таблица на странице в ней около 3-х тысяч значений выглядит это так
|name|price|price|price|price|price
|prod|2000 |3000 |4000 | |340
Мне нужно получить среднее число из всех price и отсортировать по нему.
У каждой ячейки price есть свой класс, вот функция которая возвращает среднее число
function getAvarage(item) {
return (getValue(item, '.col1') + getValue(item, '.col2') + getValue(item, '.col3') + getValue(item,'.col4') + getValue(item, '.col5')) / 5;
}
function getValue(item, selector) {
var value = parseInt($(item).children(selector).children().text());
return value == true ? parseInt($(item).children(selector).children().text()) : 0;
}
Дальше идет сортировка, я пробовал два метода но скорость слишком маленькая.
function sort(items) {
var isSort = true;
while (isSort) {
isSort = false;
for (i = 1; i < items.length; i++) {
var firstValue = getAvarage(items[i - 1]);
var secondValue = getAvarage(items[i]);
if (firstValue < secondValue) {
var swap = items[i - 1];
items[i - 1] = items[i];
items[i] = swap;
isSort = true;
}
}
}
return items;
}
function QuickSort(A) {
if (A.length == 0) return [];
var a = [], b = [], p = A[0];
for (var i = 1; i < A.length; i++)
{ if (getAvarage(A[ i ]) > getAvarage(p)) a[a.length] = A[ i ];
else b[b.length] = A[ i ];
}
return QuickSort(a).concat( p,QuickSort(b) );
}
Как можно быстро отсортировать это?