[英]sort array lexicographically in javascript
为什么这段代码
["Q", "fP", "AQ", "L"].sort((a,b) => a.localeCompare(b))
给出这个结果:
["AQ", "fP", "L", "Q"]
我认为它会给我这个(这就是我需要的):
["AQ", "L", "Q", "fP"]
所有大写字母都在小写字母之前chortle.ccsu.edu/java5/Notes/chap92/ch92_2.html
不要使用localeCompare()
,直接使用sort()
let myArray = ["Q", "fP", "AQ", "L"]; myArray.sort(); console.log(myArray);
有趣的是,以下内容适用于 NodeJS,但不适用于浏览器 JavaScript。 这是因为 ECMAScript 标准没有规定使用哪种排序算法,所以由每个浏览器和/或 NodeJS 来规定
let myArray = ["Q", "fP", "AQ", "L"];
myArray.sort((a, b) => a > b);
console.log(myArray);
https://repl.it/@AnonymousSB/SO53688028
http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.11
尝试这个:
let myArray = ["Q", "fP", "AQ", "L"]; myArray.sort((a, b) => a > b ? 1 : -1); console.log(myArray);
不要使用localeCompare()
,直接使用sort()
。 如下:
["Q", "fP", "AQ", "L"].sort();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.