js 字符串比较大小

  按每个字符的 charCode 大小进行比较,直到分出大小为止

  demos

   {

let a = 'a11'
let b = 'a2'
console.log(a > b) // false
 }

  a 和 b 比较js字符串大小比较,步骤如下:

  a[0]='a', b[0]='a', 他们的 charCode 相等,所以比较下一项a[1]='1', b[1]='2', 1 的 charCode 是 49, 2 的是 50, 所以 a[1] < b[1]所以 a < b

   console.log('选择' > '努力') // true

  因为 "选" 的 charCode 是 36873,"努" 的 charCode 是 21162

  版本号比较大小

  常见版本号 0.0.1 等,当某些特定情况下,如要进行版本号大小对比。因此有人会采用上述办法来比较。但是会有 bug。

   {

let v1 = '9.1.21'
let v2 = '7.1.1.28'
console.log(v1 > v2) // true
 }
 {
// v2 实际上是大于 v1
let v1 = '9.1.21'
let v2 = '10.1.1.28'
console.log(v1 > v2) // true
 }

  为了修复此 Bugjs字符串大小比较,我写了一个函数:

// 对比版本号大小
function isBiggerVersion(v1, v2) {
var result = true
var array1 = v1.split('.')
var array2 = v2.split('.')
var isFirstLonger = array1.length >= array2.length
function _bigger(longer, shorter) {

var l = ~~(longer[0] || 0)
var s = ~~(shorter[0] || 0)
if (s >= l) {
  return false
}
if (s 
TAGS:字符 js字符串大小比较 js 时间字符串比较大小 js中字符串比较大小 大小 相等 为止 常见
!如链接失效请在下方留言。本站所有资源均来源于网络,版权属于原作者!仅供学习参考,本站不对您的使用负任何责任。如果有侵权之处请第一时间联系我们删除,敬请谅解!