美文网首页
JavaScript字符串比较大小:为什么'10'

JavaScript字符串比较大小:为什么'10'

作者: almon123 | 来源:发表于2017-02-15 17:30 被阅读516次

之前在刷codewar的时候遇到了这个问题,后来在segmentfault上也看到人提及,觉得挺有趣,记录一下。

为什么'10' < '2'?

可以在控制台里输入试一下,确实'10' < '2'返回值是true
多试几次其他情况后就能发现初步规律。

'10' < '2'
'1' < '2'
'3' > '2'
'19999' < '2'
'30' > '200'

很明显,数字字符串的比较是按照字符对应位置一个个比较,由于'10'的第一位是1,比‘2’的第一位2小,所以'10' < '2'。
但在对应位置比较时,其实并不是按照数字大小比较的。
意思是,‘1’ < '2' 并不是因为1 < 2。
对应位置比较实际是比较它们的字符编码的大小,你可以通过charCodeAt(0)查看一个字符的编码

'1'.charCodeAt(0) // 49
'2'.charCodeAt(0) // 50

因为49 < 50, 所以‘1‘ < '2'
而刚好0-9在字符集中是按照顺序排下来的,所以从表面上来看,就是数字本身的大小关系了。

相关文章

  • JavaScript字符串比较大小:为什么'10'

    之前在刷codewar的时候遇到了这个问题,后来在segmentfault上也看到人提及,觉得挺有趣,记录一下。 ...

  • 十一:PHP字符串的比较

    一:总结 strcmp()比较字符串的大小,区分大小写,对ascall码的比较 strcasecmp()比较字符串...

  • iOS字符串比较(区分与不区分大小写比较)

    1、比较字符串(搜索功能)(区分大小写)方法一: 2、比较字符串(搜索功能)(区分大小写)方法二: 3、比较字符串...

  • NSString

    NSString对象用于存储文本字符串 比较字符串的大小 比较字符串 取得字符串长度 大小写转换 转换为基本数据类...

  • the '10' App ID limit in

    Unable to add App ID because the '10' App ID limit in '7'...

  • JAVASCRIPT运算符

    javascript基本类型(指字符串和数值等内置类型)的比较是值的比较。javascript对象的比较是引用的比...

  • 安的种子 -10'

    昨晚写着写着被小孩打断然后就睡着了… 一天的下午萝萝发给我一只兔子,说这只兔子睡觉的样子,特别像可可,葫芦还在睡不...

  • JavaScript object对象大小比较研究

    JavaScript的基本类型进行大小比较时,能直接比较大小的,除了、 、 外,还有有如下几个: ...

  • JavaScript版本号大小比较

    App的版本号"6.2.3"跟"10.5.6"比较,那个比较大呢?这个问题相信移动端的原生开发同学一定不会陌生,那...

  • 操作符

    ①比较大小 < > <= >= = ②确定集合 in not in ③确定范围 between and ④字符串...

网友评论

      本文标题:JavaScript字符串比较大小:为什么'10'

      本文链接:https://www.haomeiwen.com/subject/jkiqwttx.html