替换多个JavaScript单词中的每个字母

Replace each letter in more one word JavaScript

本文关键字:单词中 JavaScript 替换      更新时间:2023-09-26

我想把每个字母替换成更多的一个单词,就像这个例子:如果用户按代码输入#(*@$^ $^*,我想将每个字母更改为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);