JavaScript中如何比较字符串大小

在最近codeReview中发现有部分同事直接使用字符串去判断,这是很不严谨的写法, 让我们看看如何在js中去比较字符串的大小?

字符串是按每个字符的ASCII码比较

  1. 如果字符串长度为0的情况下,就可以直接比较它们的大小,

'' == '' // true
'' === '' // true
'' > '' or '' < '' // false

复制代码
  1. 如果字符串长度不为0的,字符串可以换成ASCII码,然后去比较其大小

const a = '19'
const b = '111'

a 与 b 按照字符逐个进行比较,直到分出大小为止。
1. a[0] => '1', b[0] => '1'
2. a[1] => '9', b[1] => '1'

'9'.charCodeAt() // 字符串9 转ASCII码 为 57
'1'.charCodeAt() // 字符串1 转ASCII码 为 49

所以这里 a > b 

复制代码

如果这里直接去判断的话,肯定是得不到你想要的结果。

不过可以利用parseIntorparseFloat 方法去转换为数字,然后再去作比较。

你可能感兴趣的:(JavaScript中如何比较字符串大小)