js中用localeCompare()方法 比较字符串时,只比较第一个字符?
答案:4 悬赏:10
解决时间 2021-02-10 06:50
- 提问者网友:醉归
- 2021-02-09 11:40
js中用localeCompare()方法 比较字符串时,只比较第一个字符?
最佳答案
- 二级知识专家网友:瘾与深巷
- 2021-02-09 13:04
不是只比较首字母,<br>先比较第一个,<br>如果第一个String对象按照字母顺序排在参数的字符串之前,则返回负数,不再继续向下比较;<br>如果第一个String对象按照字母顺序排在参数的字符串之后,则返回正数,不再继续向下比较;<br>如果第一个String对象按照字母顺序与参数的字符串顺序相同,则继续向下比较,直到出现上面两种情况(按照不同情况返回不同值),或者全部的字符顺序都相同(则是String对象等于参数中的字符串,此种情况返回0)<br>alert("abb".localeCompare("bbb");<br>//先比较第一个字符“abb”中的a在“bbb”中的b之前,所以返回-1<br>alert("bbb".localeCompare("abb"));<br>//先比较第一个字符“bbb”中的b在“abb”中的a之后,所以返回1<br>alert("abb".localeCompare("acb"));<br>//先比较第一个字符:“abb”中的a与“acb”中的顺序相同,则继续向下比较,在比较第二个字符:“abb”中的第二个字符为b 在“acb”中的第二个字符c之前,所以返回-1,不在向下比较<br>alert("acb".localeCompare("aca"))<br>//返回值为1<br>alert("abb".localeCompare("bab"));<br>//返回值为-1<br>补充一下:这个比较原理,其实是按照ASCII码进行比较的,如果进行比较的String对象相应字母的ASCII码的值小于参数中相应字母的ASCII码值,则返回负数;大于则返回正数;等于则返回0;<br>学习笔记,如有错误,还请多多指教!
全部回答
- 1楼网友:温柔刺客
- 2021-02-09 14:03
是逐个比较的,自己试试就知道了。
用来给列表按字母排序神马的最方便了。
- 2楼网友:桑稚给你看
- 2021-02-09 13:50
你好!
是逐个比较的,自己试试就知道了。
用来给列表按字母排序神马的最方便了。
我的回答你还满意吗~~
- 3楼网友:说多了都是废话
- 2021-02-09 13:42
stringVar.localeCompare(stringExp)其中stringVar是必选项。一个 String 对象后文字。
stringExp是必选项。将与 stringVar 进行比较的字符串。
localeCompare 可以对 stringVar 和 stringExp 进行一个区分区域设置的字符串比较并返回 –1、0 或 +1,这取决于系统中缺省区域设置的排序。如果 stringVar 排序在 stringExp 之前,那么 localeCompare 返回 –1;如果 stringVar 排序在 stringExp 之后,则返回 +1。如果返回值为 0,那就说明这两个字符串是相同的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯