How can I sort an array, yet exclude certain elements (to be kept at the same position in the array)
Posted
by calumbrodie
on Stack Overflow
See other posts from Stack Overflow
or by calumbrodie
Published on 2010-03-25T20:27:12Z
Indexed on
2010/03/25
20:43 UTC
Read the original article
Hit count: 209
This will be implemented in Javascript (jQuery) but I suppose the method could be used in any language.
I have an array of items and I need to perform a sort. However there are some items in the array that have to be kept in the same position (same index).
The array in question is build from a list of <li>
elements and I'm using .data() values attached to the list item as the value on which to sort.
What approach would be best here?
<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(sugarcontent[i]);
})
</script>
I want the list sorted with the following result...
<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>
Thanks!
© Stack Overflow or respective owner