按字母顺序排列字符串
Alphabetical string sort
我正在寻找一种按字母顺序对选项值进行排序的算法。
$(this).html($("option", $(this)).sort(function(a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}));
有了上面的代码,它似乎可以工作,但一旦我介绍了多个作品,排序就会变得不可预测。
举个例子,我正试图对其进行排序:
<select class='whatever'>
<option value='Lorem dva'>Lorem dva</option>
<option value='a1'>a1</option>
<option value='pl1'>pl1</option>
</select>
我正在使用jQuery。
谢谢!
您的示例已经排序,因为ASCII中大写字母"L"位于"a"之前。也许你想添加到LowerCase()?
您应该将排序后的选项重新插入DOM:
$(document).ready(function () {
$(this).html($("option", $(this)).sort(function (a, b) {
return a.text == b.text ? 0 : a.text < b.text ? -1 : 1
}).appendTo(".whatever"));
});
http://jsfiddle.net/5zpTu/3/
相关文章:
- 按字母顺序排列字符串
- 确定字符串中的所有字母是否按JavaScript字母顺序排列
- Javascript字符串中的加扰字符都是可能的排列,可能性相同
- 根据字符串中的前两个数字重新排列行
- 按照Javascript中定义的顺序排列字符串数组的最佳方式
- 从字符串中重新排列日期
- 在具有重复项的所有可能排列的列表中查找给定字符串的秩
- 在所有可能排列的列表中查找给定字符串的秩
- 按字母顺序排列字符串
- Javascript:打印字符串的排列超出堆栈内存
- 递归打印字符串的所有排列(Javascript)
- JS + math:计算子字符串的排列或组合
- 从Java到Javascript的字符串排列
- 递归解决方案:字符串排列.无法在javascript中返回排列字符串数组
- 如何比较javascript中忽略字符排列的两个字符串
- 如何替换字符串和重新排列字符串
- 按字母顺序排列的最长子字符串 Javascript
- 在一组字符串中重新排列一个字符串 - 正则表达式
- 使用 javascript 重新排列文本(字符串)
- 仅使用javascript创建按字母顺序排列的字符串