【问题标题】:JavaScript passing String Array to String literalJavaScript 将字符串数组传递给字符串文字
【发布时间】:2022-11-26 23:18:48
【问题描述】:

我想将字符串值数组传递给字符串文字,如下所示

代码 :

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) +`]`

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

【问题讨论】:

  • JSON.stringify(array)
  • 谢谢@James

标签: javascript arrays typescript string


【解决方案1】:

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

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

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

`

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

【讨论】:

  • 我没有想到。欣赏它
【解决方案2】:

你可以stringify数组。此外,只需转义 /,而不是在标签名称上使用串联 - it's easier to read, and more efficient

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

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

console.log(output);

【讨论】:

    猜你喜欢
    • 2016-06-01
    • 2012-10-06
    • 2016-11-14
    • 2021-09-02
    • 2016-10-25
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多