将字符串数组传递给字符串文字的JavaScript

u7up0aaq  于 2022-11-27  发布在  Java
关注(0)|答案(2)|浏览(138)

我想将字符串值的Array传递给字符串文字,如下所示
编码:

var array = ['1','2556','3','4','5'];
...
...

var output = `
<scr`+`ipt>
    window.stringArray = [`+ array +`]
</scr`+`ipt>

`

输出量:

<script>
    window.stringArray = [1,2556,3,4,5]
</script>

所需输出:

<script>
    window.stringArray = ['1','2556','3','4','5']
</script>

我尝试过不将数组串化,而是将其串化在多行字符串中,但值太长,int无法处理,因此会中断,例如,[888555985744859665555]这将变成[888555985744859665500],这会占用内存。接下来我尝试在内联字符串中使用map函数,如下所示

`[`+ array.map(String) +`]`

我不能在上面提到的输出字符串中添加更多的行,代码可以在一行内修改或添加到上面!

hfyxw5xn

hfyxw5xn1#

你可以对数组进行stringify操作。另外,只需对/进行转义,而不是在标签名称上使用连接--这样更容易阅读,也更高效。

const array = ['1','2556','3','4','5'];

const output = `
  <script>
    window.stringArray = ${JSON.stringify(array)}
  <\/script>
`;

console.log(output);
rekjcdws

rekjcdws2#

为什么不使用JSON.stringify呢?它非常适合您的用例!

var array = ['1','2556','3','4','5'];

var output = `
<scr`+`ipt>
    window.stringArray = `+ JSON.stringify(array) +`;
</scr`+`ipt>

`;

console.log(output);

您可以阅读更多关于JSON.stringifyon MDN用法的信息。

相关问题