Как применить сразу 2 сортировки

215
17 апреля 2017, 05:18

	$('.list').sort(function (a, b) { 
		var contentA = Number($(a).attr('data-bet')); 
		var contentB = Number($(b).attr('data-bet')); 
		return (contentA > contentB) ? -1 : (contentA < contentB) ? 1 : 0; 
	}).appendTo('#coinflip_listings'); 
	$('.list').sort(function (a, b) { 
		var contentA = Number($(a).attr('data-status')); 
		var contentB = Number($(b).attr('data-status')); 
		return (contentA < contentB) ? -1 : (contentA > contentB) ? 1 : 0; 
	}).appendTo('#coinflip_listings');

Как применить 2 сортировки сразу? В первую очередь надо сортировать по data-status, а потом уже по data-bet

Answer 1

Делаете одной сортировкой, сортируете по data-bet, на data-status смотрите только при равенстве data-bet:

$('.list').sort(function(a, b) { 
  var contentA = Number($(a).attr('data-status')); 
  var contentB = Number($(b).attr('data-status')); 
  if (contentA == contentB) { 
    var contentStatusA = Number($(a).attr('data-bet')); 
    var contentStatusB = Number($(b).attr('data-bet')); 
    return (contentStatusA < contentStatusB) ? -1 : (contentStatusA > contentStatusB) ? 1 : 0; 
  } else { 
    return (contentA > contentB) ? -1 : 1; 
  } 
}).appendTo('#coinflip_listings');
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<li class="list" data-bet="2" data-status="1">bet:2 , status:1</li> 
<li class="list" data-bet="3" data-status="0">bet:3 , status:0</li> 
<li class="list" data-bet="3" data-status="1">bet:3 , status:1</li> 
<li class="list" data-bet="2" data-status="0">bet:2 , status:0</li> 
<li class="list" data-bet="1" data-status="0">bet:1 , status:0</li> 
<li class="list" data-bet="1" data-status="1">bet:1 , status:1</li> 
 
<ul id="coinflip_listings"></ul>

READ ALSO
Какой аналог MPDF есть для JS?

Какой аналог MPDF есть для JS?

MPDF перед созданием PDF позволяет запросить и построить страницу в соответствии с тем содержимым, которое нужно, при этом можно очень легко...

217
angular2 после ember2: computed, data store, route refresh

angular2 после ember2: computed, data store, route refresh

Всем привет! Ребят, я заканчиваю проект на 2ом Ember и не за горами новый, хотелось бы теперь попробовать новый ангулар(который 4й уже), однако...

246
Не передаются изображения в base64

Не передаются изображения в base64

Формирую массив, отправляю с js в php, а там не принимаются изображенияВсе остальное php принимает

198
click в jquery возвращает нативный js объект

click в jquery возвращает нативный js объект

при клике на ссылку должен вызываться jquery объект: $( "__tab-btn" )

179