Javascript 如何在数组变量上使用String.raw
我的代码中有一个问题,我定义了数组,但它包含特殊字符,如Javascript 如何在数组变量上使用String.raw,javascript,jquery,mathjax,Javascript,Jquery,Mathjax,我的代码中有一个问题,我定义了数组,但它包含特殊字符,如/,{},(),[],等。。。(因为plainsource MathJax) 数组返回不包含上述特殊字符的字符串 PS:我读过关于String.raw,但我不知道如何在这种数组中使用它。请帮帮我:( 因为反斜杠是javascript字符串中的转义字符,如果希望它出现在字符串文字中,则需要将其加倍。请重试 var Array_QA = { "\\Large {\\lim_{x \\to 2}} (5^x + 2^x + 4)" : "
/,{},(),[],
等。。。(因为plainsource MathJax)
数组返回不包含上述特殊字符的字符串
PS:我读过关于String.raw
,但我不知道如何在这种数组中使用它。请帮帮我:(
因为反斜杠是javascript字符串中的转义字符,如果希望它出现在字符串文字中,则需要将其加倍。请重试
var Array_QA = {
"\\Large {\\lim_{x \\to 2}} (5^x + 2^x + 4)" : "33",
"\\Large {\\lim_{x \\to 2}} \\frac {x^2 - 6x + 8}{x^3 - 4}" : "0"
};
String.raw
与模板文本一起使用,新的(ish)ES6语法用于带有内插变量、嵌入引号和换行符的字符串,以及可选的“标记”应用程序(这只是函数回调,它接收由每个插值变量分割的模板片段,以返回最终的组合字符串,不管您喜欢什么)
因此,如果我有一个处理模板文本的函数,它被称为processLiteral
,那么我可以这样做,将其应用于文本:
processLiteral`This is a string with interpolated variables like ${someVar} and also ${otherVar}.`
具体来说,String.raw
将用作模板文本的标记,它将返回原始字符串而不处理任何转义字符。这意味着\n
将保持为\n
而不是换行,\t
将保持为\t
而不是选项卡,等等。它是自动完成的在任何转义斜杠之前添加斜杠,从而转义斜杠,因此这相当于使用\\n
,\\t
等
因此,在您的情况下,如果您想使用该方法,因为您无法将模板文本直接放入对象键声明中(它无法正确解析),您应该执行以下操作:
var Array_QA = {};
Array_QA[String.raw`\Large {\lim_{x \to 2}} (5^x + 2^x + 4)`] = "33";
Array_QA[String.raw`\Large {\lim_{x \to 2}} \frac {x^2 - 6x + 8}{x^3 - 4}`] = "0";
也就是说,从一开始就将这样的复杂字符串作为对象键可能不是一个好主意……但它应该可以工作。如果可以,我建议重构代码以实现不同的目的。您可以在计算属性键中使用它们。
var Array_QA = {};
Array_QA[String.raw`\Large {\lim_{x \to 2}} (5^x + 2^x + 4)`] = "33";
Array_QA[String.raw`\Large {\lim_{x \to 2}} \frac {x^2 - 6x + 8}{x^3 - 4}`] = "0";