为了账号安全,请及时绑定邮箱和手机立即绑定

关于排序函数的返回值

<!DOCTYPE html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>Array对象 </title>

<script type="text/javascript">

   function sortNum(a,b) {

       if(a>=b){

           return 1

       }

       else{

           return -1

       }

   }

var myarr = new Array("80","16","50","6","100","1");

document.write(myarr.sort(sortNum));

</script>

</head>

<body>

</body>

</html>

为什么我写的排序函数,最终没有按顺序排呢,是乱序

输出结果为:1,100,16,50,6,80

正在回答

1 回答

因为数组里存的字符串呀,(重点)字符串比较大小和数字比较大小是不一样的,可以这样写:if(parseInt(a)>=parseInt(b)){return 1}else{return -1} 先把字符串转成数字再比较大小

0 回复 有任何疑惑可以回复我~
#1

沐oo音 提问者

非常感谢!
2018-04-26 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468043    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

关于排序函数的返回值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信