用更多单词JavaScript替换每个字母

时间:2016-11-07 19:59:01

标签: javascript replace each words letter

我想更换一个单词中的每个字母,如下例所示: 如果用户通过代码键入#(*@$^ $^*,我想将每个字母更改为cinema man。解释更多 - 我想制作一个这样的地图:

"#" = "c";
"(" = "i";
"*" = "n";
"@" = "e";
"$" = "m";
"^" = "a";

如何使用JavaScript制作该流程?

2 个答案:

答案 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);