【问题标题】:Changing an array of arrays to an array of other datatypes in Javascript [closed]在Javascript中将数组数组更改为其他数据类型的数组[关闭]
【发布时间】:2021-02-05 18:41:46
【问题描述】:

在 Javascript 中,如何将 [[1],[2],[3]] 更改为 ["1","2","3"]。我尝试使用 toString 方法,但它没有给我想要的结果,

【问题讨论】:

  • 如果您添加一些您尝试过的格式化源代码以及到目前为止的结果,它会有所帮助。

标签: javascript arrays algorithm


【解决方案1】:

使用Array.map() 将每个数组转换为字符串,使用字符串constructor function

const arr = [[1],[2],[3]]

const numbersArr = arr.map(String)

console.log(numbersArr)

如果每个数组中有多个项,则将数组展平,然后将数组项映射到字符串:

const arr = [[1, 2],[2, 3],[3, 4]]

const numbersArr = arr.flat().map(String)

console.log(numbersArr)

【讨论】:

    【解决方案2】:

    您可以使用Array.reduce 将二维数组缩减为单个数组。

    const arr = [[1],[2],[3]];
    
    const result = arr.reduce( (acc, cur) => {
      acc.push(cur[0].toString())
      return acc;
    }, []);
    
    console.log(result);

    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce

    【讨论】:

      【解决方案3】:

      这可能会有所帮助。

      // [1, [2, [3], [4, [[[5, 6]]]]]] => ['1', '2', '3', '4', '5', '6']
      
      const flatternArray = (arr) => {
          return arr.flatMap(x => {
            if (Array.isArray(x)) {
              return flatternArray(x)
            } else {
              return x.toString();
            }
          })
        }
      
        console.log(flatternArray([1, [2, [3], [4, [[[5, 6]]]]]]))

      【讨论】:

        猜你喜欢
        • 2022-01-18
        • 2021-12-02
        • 1970-01-01
        • 1970-01-01
        • 2020-06-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多