起因是写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]