zoukankan      html  css  js  c++  java
  • 5.6.3.7 localeCompare() 方法

      与操作字符串有关的最后一个方法是localeCompare(),这个方法比较两个字符串,并返回下列值中的一个:

    • 如果字符串在字母表中应该排在字符串参数之前,则返回一个负数(大多数情况下是-1,具体的值要视实现而定);
    • 如果字符串等于字符串参数,则返回0;
    • 如果字符串在字母表中应该排在字符串参数之后,则返回一个正数(大多数情况下是1,具体的值同样要视实现而定)。

      例如:

    var stringValue = "yellow";
    alert(stringValue.localeCompare("brick"));//1
    alert(stringValue.localeCompare("yellow"));//0
    alert(stringValue.localeCompare("zoo"));//-1
    

      这个例子比较了字符串“yellow”和另外几个值:“brick”,“yellow”和“zoo”。因为“brick”在字母表中排在“yellow”之前,所以localeCompare()返回了1;而“yellow”等于“yellow”,所以localeCompare()返回了0;最后,“zoo”在字母表中排在“yellow”后面,所以localeCompare()返回了-1,。再强调一次,因为localeCompare()返回的数值取决于实现,所以最后像下面例子所示的这样使用这个方法。  

    function determineOrder(value)
    {
        var result = stringValue.localeCompare(value);
        if(result<0)
        {
            alert("the string 'yellow' comes before the string '"+value+"' .");  
        }else if(result>0)
        {
            alert("the string 'yellw' comes after the string ' "+value+" '. ");      
        }else
        {
            alert("the string 'yellow' is equal to the string ' "+value+" '. ");  
        }
    }
    
    determineOrder("brick");
    determineOrder("yellow");
    determineOrder("zoo");
    

      使用这种结构,就可以确保自己的代码在任何实现中都可以正确的运行了。

      localeCompare()方法比较与众不同的地方,就是实现所支持的地区(国家和语言)决定了这个方法的行为。比如,美国以英语作为ECMAScript实现的标准语言,因此localeCompare()就是区分大小写的,于是大写字母在字母表中排在小写字母前头就成为了一项决定性的比较规则。不过,在其他地区恐怕就不是这种情况了。

  • 相关阅读:
    CXF JaxWsDynamicClientFactory 错误:编码GBK的不可映射字符
    关于springboot配置DataSource
    Spring Boot2.0加载多个数据源
    Kettle配置发送邮件
    推荐几个不错的VUE UI框架
    vue基础语法一
    Maven在Eclipse下构建多模块项目过程
    利用eclipse把jar包安装到本地仓库
    设计模式之策略模式
    设计模式之观察者模式
  • 原文地址:https://www.cnblogs.com/yxlove/p/4539685.html
Copyright © 2011-2022 走看看