js中使用sort对整数排序造成的问题

起因是写leetcode的时候需要对一个数组arr=[-1,-4,0,-1,1,2]排序,结果如下:

let arr = [-1,-4,0,-1,1,2];
arr.sort();
console.log(arr);
//[-1,-1,-4,0,1,2]

才发现原来js提供的sort()方法默认是按照字母顺序来排序,所以不能直接使用默认的sort()来排序整数数组。

查了一下sort的完整语法:arrayObject.sort(sortby);
sortby可以自定义

所以在我们给整数排序的时候需要自己写排序方法,否则排出来顺序是不对的。

直接上代码:

let arr = [-1,-4,0,-1,1,2];
arr.sort(function (a, b) {
    return a - b;
});
console.log(arr);
//[-4,-1,-1,0,1,2]
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容