【发布时间】:2018-05-21 15:11:01
【问题描述】:
我实际上有一个简单的问题。当您检查以下代码时,您就会明白我的意思。
function isPalindrome(string){
string = string.toLowerCase();
var charArr = string.split('');
charArr.forEach( char => {
console.log(char);
})
console.log(charArr.length)
}
isPalindrome("İris");
输出
i
̇ <- what is this ?
r
i
s
5
如您所见,添加额外的字符。我无法解决这个问题。有没有办法解决这个问题?
【问题讨论】:
-
你试过
toLocaleLowerCase()吗? -
@FedericoklezCulloca 哇它的工作。 toLowerCase 有什么区别?
-
"İ" 由两个 Unicode 字符组成,即 I 字符和它上面的点。
.toLocaleLowerCase()将其识别为单个字母。 -
@JJJ 我认为
.toLowerCase()将它变成了拉丁文小写“i”加上Unicode“组合点上面”字符(十进制775)。 -
它不适用于 chrome 控制台。我认为这不应该工作,因为那个角色不是英语。怎么能和英文小写一样。
标签: javascript utf-8 lowercase