dev*_*mat 5 javascript string diacritics
我正在创建一个简单的像游戏一样的吊人。用户可以输入一个“秘密句子”,然后玩家必须通过一个一个选择的字母来猜测它。
由于此游戏将在多种语言中使用,如果玩家选择非重音字符,我想解决所有重音字符。例如:
IL CANE È BELLO.
Run Code Online (Sandbox Code Playgroud)
如果玩家选择元音“e”,则只会解析没有重音的元音(游戏用 === 比较字符)。相反,我希望游戏能自动识别所有带重音或不带重音的字符(è、é、e...)
我要折磨自己写一个函数来检查每个带重音的字符,但我想知道是否有更简单的方法。
这是我的函数到目前为止的样子(我刚刚添加了 è 重音元音)
function isAccentedVowel(chosenChar, currentChar) {
console.log('The user selected this char: ' + chosenChar)
console.log('I\'m comparing it to this char: ' + currentChar)
switch (chosenChar) {
case 'E':
if (currentChar === 'È') return true;
}
}
Run Code Online (Sandbox Code Playgroud)
注意:密句和每个字符都是大写的
您可以用来String#normalize将重音字符与正常对应的字符进行比较。
要执行比较,您需要首先从重音字符中获取/提取正常字符,如下所示。
\n\nstring.normalize(\'NFD\')\nRun Code Online (Sandbox Code Playgroud)\n\n这将返回一个包含两个项目的数组。您现在可以将数组中的第一项与普通字符进行比较。
\n\nstring.normalize(\'NFD\')\nRun Code Online (Sandbox Code Playgroud)\r\n