【发布时间】:2010-03-25 20:27:12
【问题描述】:
这将在 Javascript (jQuery) 中实现,但我认为该方法可以用于任何语言。
我有一个项目数组,我需要进行排序。 但是数组中有一些项必须保持在相同的位置(相同的索引)。
有问题的数组是从<li> 元素列表构建的,我使用附加到列表项的 .data() 值作为排序的值。
这里最好采用什么方法?
<ul id="fruit">
<li class="stay">bananas</li>
<li>oranges</li>
<li>pears</li>
<li>apples</li>
<li class="stay">grapes</li>
<li>pineapples</li>
</ul>
<script type="text/javascript">
var sugarcontent = new Array('32','21','11','45','8','99');
$('#fruit li').each(function(i,e){
$(this).data('sugar',sugarcontent[i]);
})
</script>
我希望列表按以下结果排序...
<ul id="fruit">
<li class="stay">bananas</li> <!-- score = 32 -->
<li>pineapples</li> <!-- score = 99 -->
<li>apples</li> <!-- score = 45 -->
<li>oranges</li> <!-- score = 21 -->
<li class="stay">grapes</li> <!-- score = 8 -->
<li>pears</li> <!-- score = 11 -->
</ul>
谢谢!
【问题讨论】:
标签: javascript jquery sorting arrays