首页 > 解决方案 > 需要用角度打字稿格式化我的数组

问题描述

得到我的数组如下

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"]
]

标签: angulartypescriptrelationecharts

解决方案


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)


推荐阅读