【问题标题】:Need to format my array in angular typescript需要用角度打字稿格式化我的数组
【发布时间】:2021-02-13 14:15:49
【问题描述】:

如下所示获取我的数组

let myArr=[["529256","88163","50210","11843","19404","39807","25177"]]

我必须在下面格式化

let formatArr=[
  ["529256", undefined, undefined, undefined, undefined, undefined, undefined],
  [undefined, "88163", undefined, undefined, undefined, undefined, undefined],
  [undefined, undefined, "50210", undefined, undefined, undefined, undefined],
  [undefined, undefined, undefined, "11843", undefined, undefined, undefined],
  [undefined, undefined, undefined, undefined, "19404", undefined, undefined],
  [undefined, undefined, undefined, undefined, undefined, "39807", undefined],
  [undefined, undefined, undefined, undefined, undefined, undefined, "25177"]
]

【问题讨论】:

    标签: angular typescript relation echarts


    【解决方案1】:

    flat() 方法创建一个新数组,其中所有子数组元素递归连接到指定深度。

    let myArr = [
      ["529256", "88163", "50210", "11843", "19404", "39807", "25177"]
    ]
    
    let formatArray = myArr.flat(1).map((number, index, array) => {
      const size = array.length;
      return new Array(size).fill(undefined).map((item, innerIndex) => {
        if (index === innerIndex) {
          return number;
        } else {
          return undefined
        }
      });
    })
    console.log(formatArray)

    【讨论】:

      【解决方案2】:

      你可以简单地使用reduce函数来实现这个

      let myArr = [
        ["529256", "88163", "50210", "11843", "19404", "39807", "25177"]
      ]
      
      const newArray = myArr[0].reduce((prev, next, index) => {
        let arr = Array(myArr[0].length).fill(undefined)
        arr[index] = next
        return [...prev, arr]
      },[])
      
      console.log(newArray)

      【讨论】:

      • 嗨@Owen Kelvin这是我的数组[“529256”、“88163”、“50210”、“11843”、“19404”、“39807”、“25177”]
      • 我应该在下面格式化 [ ["529256", undefined, undefined, undefined, undefined, undefined, undefined], [undefined, "88163", undefined, undefined, undefined, undefined, undefined], [未定义,未定义,“50210”,未定义,未定义,未定义,未定义],[未定义,未定义,未定义,“11843”,未定义,未定义,未定义],[未定义,未定义,未定义,未定义,“19404”,未定义,未定义],[未定义,未定义,未定义,未定义,未定义,“39807”,未定义],[未定义,未定义,未定义,未定义,未定义,未定义,“25177”]];
      • 哪个数组先出现?请在您的问题中澄清
      • @Sankar,看看我的回答
      • @OwenKelvin,```` myArr=[["6709"],["1949"],["87484"],["12760"],["13326"],[" 3356"],["98000"],["16949"],["29981"],["7879"],["117640"],["30727"],["122071"],["21325" ],["210406"],["65824"],["2744807"],["56664"],["382719"],["134578"],["2440528"],["83819"], ["1362744"],["450092"],["2461"],["336"],["166446"],["16363"]]````
      猜你喜欢
      • 2021-06-06
      • 2023-04-05
      • 1970-01-01
      • 2013-08-16
      • 1970-01-01
      • 2020-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多