关于字符串的比较问题 书上说的数值5虽然小于10 但在进行字符串比较时,"10" 则位于"5"的前面也就是说是用js中的sort()方法排序 0,1,5,10,15的结果是0,1,10,15,5问一下这个关于字符串的排序是怎么排的,有没有什么标准! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 传递排序的比较方法var arr = [0, 1, 10, 15, 5];arr.sort();alert(arr);arr.sort(function(a, b){ return a - b;});alert(arr); // 0,1,5,10,15 http://www.w3school.com.cn/js/jsref_sort.asp楼主参考下里面有段说明如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。 调用数组对象的sort()函数时是需要指定排序函数的,如1楼所示。如果你没有指定排序函数,那么元素就会按照ASCII字符顺序进行升序排列 sort会吧数组的每个元素转换成String类型 所以10和5其实是"10"和"5"至于比较方法 是先会比较第一个字符,如果相等则比较第二个,否则作为整个字符串比较的结果 依次类推"10"和"5"中先比"1"和"5"由于'1'的ascii码小于'5'所以 所以10排在5前面 "5".charCodeAt(0) => 53"10".charCodeAt(0) => 49 JQuery在做Web页面UI时有没有什么优势? 上传文件file时,获取路径问题 发帖求助:关于frame的 url的问题。 HTML编辑器右键菜单“拷贝”功能的实现! 如何取文件名??? javascript自動設置IE首頁? 请问如何将画面中的text框设为只读属性? 关于JavaScript的问题 EXTJS 动态向容器中添加组件 JQuery的bind(“click",function())与click(function(e))有什么区别? 选中一级复选框,相关二级或父级同时被选 的问题求助 datatable在每一行的第一列塞一个checkbox怎么搞
var arr = [0, 1, 10, 15, 5];
arr.sort();
alert(arr);arr.sort(function(a, b){
return a - b;
});
alert(arr); // 0,1,5,10,15
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
至于比较方法 是先会比较第一个字符,如果相等则比较第二个,否则作为整个字符串比较的结果 依次类推
"10"和"5"中先比"1"和"5"由于'1'的ascii码小于'5'所以 所以10排在5前面
"10".charCodeAt(0) => 49