Если у меня есть неупорядоченный список:
<ul>
<li data-sort-name="a">A</li>
<li data-sort-name="d">D</li>
<li data-sort-name="b">B</li>
<li data-sort-name="c">C</li>
</ul>
и массив:
[a,b,c,d]
Есть ли способ отсортировать вышеуказанный список в том же порядке, что и массив. (Массив не всегда хронологический, это просто для объяснения целей).
Благодарю.
Одно из возможных решений jQuery:
$.each(['a', 'b', 'c', 'd'], function(i, v) {
$('li[data-sort-name="' + v + '"]').appendTo('ul');
});
Я бы рекомендовал такую библиотеку, как подчеркивание, для такой функции. Они маленькие, быстрые и очень полезные!
Функция сортировки подчёркивания: http://underscorejs.org/#sortBy