Mad*_*dhu 2 javascript arrays sorting string native
我现在正在javascript string使用排序localeCompare,我的数据也将包含几个null值。
我localeCompare在比较string和null价值时发现了一个奇怪的行为。当比较字符串值与startswith时,a/A to n/N它工作正常,如下所示。
"n".localeCompare(null) // return -1;
"N".localeCompare(null) // return -1;
Run Code Online (Sandbox Code Playgroud)
但是如果我将空值与其o/O to z/Z返回进行比较之后1
"o".localeCompare(null) // return 1;
"O".localeCompare(null) // return 1;
Run Code Online (Sandbox Code Playgroud)
我知道可以localeCompare进行比较Unicode,但是为什么会发生上述行为有什么原因吗?
localeCompare比较字符串,因此传递给它的任何内容都将转换为字符串,并且您将得到相同的结果
"n".localeCompare("null") // return -1;
"o".localeCompare("null") // return 1;
Run Code Online (Sandbox Code Playgroud)
因为
localeCompare() 方法返回一个数字,指示引用 字符串在排序顺序中是位于给定字符串之前还是之后,或者是否与给定字符串相同。
意思是
"null".localeCompare("null")-> 将返回,0因为它是相同的字符串
"n".localeCompare("null")-> 将返回-1它之前的内容null
"o".localeCompare("null")-> 将返回1它之后的内容null
| 归档时间: |
|
| 查看次数: |
2267 次 |
| 最近记录: |