数组sort排序不起作用

前几天在谷歌浏览器中使用JavaScript中Array的sort排序字符串,发现排序不准确,这里记一下。

var arr=['a','d','b','c','b'];
var arr2=arr.sort((a,b)=>{
    return a<b
})
console.log(arr2)
浏览器1
浏览器2
  1. 主要原因是该函数要比较两个值,在第一个版本中比较函数应该具有两个参数 a 和 b,其返回值如下:
    若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
    若 a 等于 b,则返回 0。
    若 a 大于 b,则返回一个大于 0 的值。
  2. 而在第二版的返回值是true与false,对应的是 1 和 0。于是修改为下面的版本
修改为
var arr=['a','d','b','c','b'];
var arr2=arr.sort((a,b)=>{
    if(a<b){
        return -1
    }else if(a>b){
        return 1
    }
    return 0
})
console.log(arr2)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 10,311评论 0 13
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,908评论 0 2
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,201评论 0 38
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 7,224评论 0 17
  • 若把茶看做是生活 那么茶艺便是生存 茶在杯中浮浮沉沉 人在世上踌躇前行
    蓉狗蛋阅读 145评论 0 1

友情链接更多精彩内容