在Javascript中环绕字符串的优雅方式

在Javascript中环绕字符串的优雅方式,javascript,string,Javascript,String,用HTML标记、括号、引号或空格包围字符串,没有比普通的连接更好的方法了吗 在“愚蠢的问题”之前 非常相似的问题值得注意,值得拥有自己的API函数: 范围正是这样做的,但仅限于选择 字符串方法:对空格执行相反的操作,// 不推荐使用的字符串方法:/ 编辑:对于Javascript的创建者来说,这些问题显然并不愚蠢 谁更可能愚蠢:Javascript的创建者还是你 用例 我希望我能写一些像这样的东西: div.innerHTML=rawstr.split\n\n.join,,; newstr=ol

用HTML标记、括号、引号或空格包围字符串,没有比普通的连接更好的方法了吗

在“愚蠢的问题”之前 非常相似的问题值得注意,值得拥有自己的API函数:

范围正是这样做的,但仅限于选择 字符串方法:对空格执行相反的操作,// 不推荐使用的字符串方法:/ 编辑:对于Javascript的创建者来说,这些问题显然并不愚蠢

谁更可能愚蠢:Javascript的创建者还是你

用例 我希望我能写一些像这样的东西:

div.innerHTML=rawstr.split\n\n.join,,

; newstr=oldstr.split/\s+“|”\s+/g.join,\,\; 尽管琼的头发卷曲,但她还是被爱着。; 返回str.split/\s+-/s+/g.join; 尽管琼的卷发很受欢迎。; 返回str.split/\s+\\\/s+/g.join–;← 哦,等等。。。我已经可以做这个了。 …而不是:

div.innerHTML=rawstr.split\n\n.mapstr=>+str+

.join; newstr=oldstr.split/\s+“|”\s+/g.mapstr=>\+str+\.join; ab –
当我能做到这一点时,我的生活将是完整的。

使用ES6模板文字更容易:

div.innerHTML = rawstr.split("\n\n").map(str => `<p>${str}</p>`)).join("");
newstr = oldstr.split(/\s+“|”\s+/g).map(str => `"${str}"`)).join(" ");
`${p[0]} (${p[1]}) ${p[2]}`

ES6模板文字让你的生活更轻松。谁更愚蠢:Javascript的创建者还是你?这到底是怎么回事?我得说答案是you@JaromandaX:“Javascript的创建者还是我”是一个错误的二分法,因为Javascript的创建者和我一样思考。我已经在那里展示了,但你只是把它从你的脑海中过滤掉了。正确的二分法是“Javascript的创建者还是你”。@Shilly不应该。join be。join'

'?@Shilly:你的代码片段1仍然包含难看的连接。我将“丑陋”定义为“发生在概念文本单元内部而不是之间”。您的代码段2有错误:它将为每个节生成一个巨大的段落,而不是单独的段落。您的代码片段3是正确的,但与围绕字符串的主题无关。这很可能是我能找到的唯一解决方案。我知道模板文字,但我忘了在问题中提到它们。我仍然认为应该问一下。如果模板可以应用于数组。。。它们将是完美的:div.innerHTML=`${…rawstr.split\n\n}

`;☺.div.innerHTML=`${rawstr.split\n\n.join

\n\n}

`; var str = "Joan – despite her curly hair – is loved.";
var p = str.split(/\s+–/s+/g);
p[1] = "(" + p[1] + ")";
return p.join(" ");
div.innerHTML = rawstr.split("\n\n").map(str => `<p>${str}</p>`)).join("");
newstr = oldstr.split(/\s+“|”\s+/g).map(str => `"${str}"`)).join(" ");
`${p[0]} (${p[1]}) ${p[2]}`