我需要将重音字母(é、ü、á、ï、ö、...等)映射到相应的英语字母(e、u、a、i、o、...等)。
我知道我可以通过几种方法做到这一点:
const mappingArray = [
['é', 'e'],
['ü', 'u'],
['á', 'a'],
['ï', 'i'],
['ö', 'o']
];
accentedToEnglish(accented) {
for (let i = 0; i < mappingArray.length; i++ ) {
if (mappingArray[i][0] === accented)
return mappingArray[i][1];
}
}
const mappingObject = {
'é': 'e',
'ü': 'u',
'á': 'a',
'ï': 'i',
'ö': 'o'
};
accentedToEnglish(accented) {
return mappingObject[accented];
}
为什么在 javascript 中使用对象键 = O(1) 的上述映射很复杂? javascript 引擎不会在幕后遍历所有键以找到确切的值吗?