Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/432.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何用另一个字母/特殊字符替换字符串中的所有字母?_Javascript_Node.js - Fatal编程技术网

Javascript 如何用另一个字母/特殊字符替换字符串中的所有字母?

Javascript 如何用另一个字母/特殊字符替换字符串中的所有字母?,javascript,node.js,Javascript,Node.js,我正在尝试制作一个小的节点应用程序,让我可以将文本转换为双击“字母”。我对JavaScript相当陌生,我想知道最好的方法是什么 我可以使用:string.replace(“A”,doublestruck.uppercase.A)(见下文)62(26个大写字母,26个小写字母,10个数字),但我觉得肯定有更好的方法 // specialcharacters.js const doubleStruckUpper = { A: ".replace lets you use a fun

我正在尝试制作一个小的节点应用程序,让我可以将文本转换为双击“字母”。我对JavaScript相当陌生,我想知道最好的方法是什么

我可以使用:
string.replace(“A”,doublestruck.uppercase.A)
(见下文)62(26个大写字母,26个小写字母,10个数字),但我觉得肯定有更好的方法

// specialcharacters.js
const doubleStruckUpper = {
        A: "
.replace
lets you use a function:

const doubleStruckUpper = {
        A: "Another example is to 
map
each character in the
string
to double struck. If you don't need to keep double struck characters in 3 different maps, I would recommend merging them into a single map (eg:
doubleStruckAll
), then you can simply map as below:

var string = "Change this to double-struck characters";

const result = [...string].map(letter => {
    const replaced = doubleStruckAll[letter];
    return replaced ? replaced : letter;
}).join('')

console.log(result);
//specialcharacters.js
常数doubleStruckUpper={

答:“
.replace
允许您:

const doubleStruckUpper={

答:“另一个例子是将
字符串中的每个字符映射为双击字符。如果您不需要在3个不同的映射中保留双击字符,我建议将它们合并到一个映射中(例如:
doubleStruckAll
),那么您可以简单地映射如下:


上面的代码将字符串扩展为一个字符数组,然后将每个字符映射为双击字符(如果双击字符中存在条目,则返回替换字符,否则返回原始字符)。然后将新数组连接回一个字符串。

ES6/ES2015引入了一种在星体平面中表示Unicode点的方法(任何需要超过4个字符的Unicode代码点),将代码包装在图形括号中

const unicodePoints={
A:“\u{1D538}”,
B:“\u{1D539}”,
C:“\u{2102}”,
D:“\u{1D53B}”,
E:“\u{1D53C}”,
F:“\u{1D53D}”,
G:“\u{1D53E}”,
H:“\u{210D}”,
I:“\u{1D540}”,
J:'\u{1D541}',
K:“\u{1D542}”,
L:“\u{1D543}”,
M:“\u{1D544}”,
N:“\u{2115}”,
O:“\u{1D546}”,
P:“\u{2119}”,
Q:“\u{211A}”,
R:“\u{211D}”,
S:“\u{1D54A}”,
T:“\u{1D54B}”,
U:“\U{1D54C}”,
V:“\u{1D54D}”,
W:“\u{1D54E}”,
X:“\u{1D54F}”,
Y:“\u{1D550}”,
Z:“\u{2124}”
};

console.log(“将其更改为双击字母”。替换(/[A-Z]/g,el=>unicodePoints[el].normalize());
有一些改进,这些改进是可以做到的。基本上,您是在StringLength*26的O(N)处运行的。尽管
Object.keys(双击)。forEach(key=>Object.keys),它可以改进为StringLength(双击[key]).forEach(k=>string.replace(新的RegExp(k,'g'),双击[key][k]))