Показать сообщение отдельно
  #1 (permalink)  
Старый 23.07.2016, 12:55
Аспирант
Отправить личное сообщение для gazman Посмотреть профиль Найти все сообщения от gazman
 
Регистрация: 02.09.2015
Сообщений: 38

сортировка массива
здравствуйте. делаю сортировку таблицы.
добавляю отсортированные элементы в массив. задаю функцию сортировки. Но она не работает. сортирует не по порядку. мне нужно, чтобы было 1, 3, 11 и т.д. а функция работает так: 1, 11, 3
помогите, пожалуйста разобраться.

<table class="sort" id="sort" align="center">
	<tr id="zag">
		<td>ID</td>
		<td>Имя</td>
		<td>Фамилия</td>
		<td>Сайт</td>
		<td>Переключалка стилей</td>
	</tr>
	<tr>
		<td>1</td>
		<td>Александр</td>
		<td>Шуркаев</td>
		<td><a href="#">htmlcoder.visions.ru</a></td>
		<td>Не-а</td>
	</tr>
	<tr>
		<td>123</td>
		<td>Пол</td>
		<td>Соуден</td>
		<td><a href="#">idontsmoke.co.uk</a></td>
		<td>Угу</td>
	</tr>
	<tr>
		<td>3</td>
		<td>Джеффри</td>
		<td>Зельдман</td>
		<td><a href="#">zeldman.com</a></td>
		<td>Угу</td>
	</tr>
	<tr>
		<td>44</td>
		<td>Аарон</td>
		<td>Будман</td>
		<td><a href="#">youngpup.net</a></td>
		<td>Не-а</td>
	</tr>
	<tr>
		<td>11</td>
		<td>Глен</td>
		<td>Мерфи</td>
		<td><a href="#">glenmurphy.com</a></td>
		<td>Не-а</td>
	</tr>
	<tr>
		<td>15</td>
		<td>Даниель</td>
		<td>Боган</td>
		<td><a href="#">waferbaby.com</a></td>
		<td>Не-а</td>
	</tr>
	<tr>
		<td>33</td>
		<td>Ден</td>
		<td>Бенджамин</td>
		<td><a href="#">hivelogic.com</a></td>
		<td>Угу</td>
	</tr>

</table>

var table = document.getElementById("sort");
var zag = document.getElementById("sort").rows[0].cells;
var stroke = document.getElementById("sort").rows;


function perebor(zg)
{	
	for (i=0; i<zg.length; i++)
	{
		zg[i].onclick = function ()
		{
			index = this.cellIndex;
			cellRezult = [];
			
			function comp(a, b) {
				if (a > b) return 1;
				if (a < b) return -1;
			}
			
			for (i=1; i<table.rows.length; i++)
			{
				cellRezult[i-1] = [];
				cellRezult[i-1][0] = table.rows[i].getElementsByTagName("td").item(index).innerHTML;
				cellRezult[i-1][1] = table.rows[i];
			}
			
			cellRezult.sort(comp);
			
			for (i=0; i<cellRezult.length; i++)
			{
				table.appendChild(cellRezult[i][1]);
			}
		}
	}
	
}

perebor(zag);
Ответить с цитированием