首页 > 解决方案 > 构造输入数组到组件,打字稿中的数据格式(Anuglar/React)

问题描述

下面的数组是组件的输入。如果将此输入传递给组件输出,则显示正常。

 const data = [
            ['Rank', 'Player', 'Player', 'Player'],
            ['1', 'sachin', 'dravid', 'ganguly'],
            ['2', 'pointhig', 'mcrath', 'warne'],
            ['3', 'sanath', 'murali', 'vaas'],
            ['4', 'akram', 'younis', 'akhamed'] 
        ]  

但我的 api 响应如下所示。我尝试将 api 转换为上述输入数据。Rank 列应该是自动递增的。我试图像上面那样转换,但我没有转换。

0:Array(3)
    0:{fullname:'sachin'}
    1:{fullname:'dravid'}
    2:{fullname:'ganguly'}
1:Array(3)
    0:{fullname:'pointhig'}
    1:{fullname:'mcrath'}
    2:{fullname:'warne'}
2:Array(3)
    0:{fullname:'sanath'}
    1:{fullname:'murali'}
    2:{fullname:'vaas'}
3:Array(3)
    0:{fullname:'akram'}
    1:{fullname:'younis'}
    2:{fullname:'akhamed'}

标签: javascripttypescript

解决方案


const header = ["Rank", "Player", "Player", "Player"];
const data = [
  [{ fullname: "sachin" }, { fullname: "dravid" }, { fullname: "ganguly" }],
  [{ fullname: "pointhig" }, { fullname: "mcrath" }, { fullname: "warne" }],
  [{ fullname: "sanath" }, { fullname: "murali" }, { fullname: "vaas" }],
  [{ fullname: "akram" }, { fullname: "younis" }, { fullname: "akhamed" }]
];

const content = data.map((item, idx) => [
  (idx + 1).toString(),
  ...item.map(x => x.fullname)
]);
const result = [...[header], ...content];

console.log(result);


推荐阅读