【问题标题】:How do I convert an array inside an array to a string?如何将数组中的数组转换为字符串?
【发布时间】:2019-01-18 13:03:12
【问题描述】:

我是编程新手。我正在用 javascript 编码。 我想将一个包含 3 个数组的数组转换为一个字符串,并在每个不同的数组之间留有空格。

我想转这个:

var myArray = [['example'], ['text'], ['hm']]

进入这个:

var myString = 'example text hm'

【问题讨论】:

  • 你不是说myArray = [ 'example','text', 'hm' ];吗?你输入的不是一个有效的数组,甚至不是有效的代码。
  • 我的错。我的意思是使用 [] 而不是 {}。我现在编辑了问题。
  • 在下划线js中使用_.flatten,underscorejs.org/#flatten
  • 如果一个内部数组中有多个字符串会发生什么?

标签: javascript arrays string


【解决方案1】:

我想你希望它是一个带有[] 的数组。如果是这种情况,这是 reduce() 结合 join() 的一个很好的用途,它将逐步构建一个连接数组,然后您可以加入:

let myArray = [['example'], ['text', 'text2'], ['hm']]

let str = myArray.reduce((all, arr) => all.concat(arr)).join(' ')
console.log(str)

【讨论】:

  • 由于某种原因对我不起作用。我在所有字符之间都有空格。这就是我在代码中使用它时打印出来的内容:e x a m p l e t e x....等。我正在使用 p5js,这可能与不工作有关吗?
  • 我认为我的阵列有问题,所以我会尝试解决这个问题。但这回答了我的问题。谢谢
【解决方案2】:

使用嵌套的 for-each 循环。

myString = "";
for each (row in myArray){
    for each (column in row){
        myString = myString + column;
    }
}

【讨论】:

    【解决方案3】:

    在这种特定情况下,您可以使用标准Array.join()。这将调用子数组的.toString() 方法。通常它会返回一个由逗号分隔的项目字符串,但是由于每个子数组中只有一个项目,因此您将在字符串中获得该项目。

    const myArray = [['example'], ['text'], ['hm']]
    
    const result = myArray.join(' ')
    
    console.log(result)

    【讨论】:

      【解决方案4】:

      您可以使用Array.join(' ') 将它们连接在一起

      const sentence = myArray.join(' ')

      将返回"example text hm"

      分离的语音标记将使单词保持分离并阻止它们连接在一起。如果它们在一起,它将连接所有字符串"exampletexthm"

      我还建议您使用constlet 而不是var。它可能会导致一些问题。 Article to look at

      【讨论】:

        猜你喜欢
        • 2021-12-13
        • 1970-01-01
        • 2021-11-20
        • 1970-01-01
        • 2015-11-11
        • 2022-01-24
        • 1970-01-01
        • 1970-01-01
        • 2017-11-27
        相关资源
        最近更新 更多