我想更换一个单词中的每个字母,如下例所示:
如果用户通过代码键入#(*@$^ $^*
,我想将每个字母更改为cinema man
。解释更多 - 我想制作一个这样的地图:
"#" = "c";
"(" = "i";
"*" = "n";
"@" = "e";
"$" = "m";
"^" = "a";
如何使用JavaScript制作该流程?
答案 0 :(得分:0)
如果您只想映射这些特定字符,可以执行以下操作:
var myMap = {
"#": "c",
"(": "i",
"*": "n"
};
var string = "#(*";
var newLetters = string.split('').map(function(letter){
return myMap[letter];
});
newLetters.join('');
您只需要创建一个对象来引用它的键值对。
编辑:很明显,你可以根据自己的喜好来解决这个问题,只是为了说明一切的想法,我可以解决这个问题。
答案 1 :(得分:0)
创建对象以存储映射。现在解析字符串并用映射的工作替换每个单词。这是一个有效的演示:
var mapping = {
"#": "c",
"(": "i",
"*": "n",
"@": "e",
"$": "m",
"^": "a"
};
var string = "#(*@$^ $^*";
var output = string.split("").map(function(el) {
if(mapping.hasOwnProperty(el))
return mapping[el];
return el;
}).join("");
alert(output);