我想把每个字母替换成更多的一个单词,就像这个例子:如果用户按代码输入#(*@$^ $^*
,我想将每个字母更改为cinema man
。解释更多-我想做一个这样的地图:
"#" = "c";
"(" = "i";
"*" = "n";
"@" = "e";
"$" = "m";
"^" = "a";
我怎么能使这个过程与JavaScript?
如果你只是想映射这些特定的字符,你可以这样做:
var myMap = {
"#": "c",
"(": "i",
"*": "n"
};
var string = "#(*";
var newLetters = string.split('').map(function(letter){
return myMap[letter];
});
newLetters.join('');
你只需要创建一个对象来引用它的键值对。
编辑:显然你可以把这个修改成你喜欢的样子,这只是我用来说明总体想法的东西。
创建一个对象来存储映射。现在解析字符串并将每个单词替换为其映射的工作。下面是一个工作演示:
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);