分享
三行代码  ›  专栏  ›  技术社区  ›  ImtiazNur

如何在typescript中创建带有列表头的数组?[副本] - How to create an array with the headers of a list in typescript? [duplicate]

  •  0
  • ImtiazNur  · 技术社区  · 1 周前

    这个问题已经有了答案:

    在typescript中,我有一个对象数组。我想用第一个数组中的对象头创建一个新数组。

        let scores = [{name: "A", skills: 50, result: 80},
                      {name: "B", skills: 40, result: 90},
                      {name: "C", skills: 60, result: 60}];
    
        let parameters = Array.from(this.scores.keys());
        this.console(parameters);
    
        // parameters = [0, 1, 2]
    
        // expecting; parameters = ["name", "skills", "result"]
    
    2 回复  |  直到 1 周前
        1
  •  5
  •   Nina Scholz    1 周前

    您可以从数组的第一个对象中获取密钥。

    let scores = [{ name: "A", skills: 50, result: 80 }, { name: "B", skills: 40, result: 90 }, { name: "C", skills: 60, result: 60 }],
        parameters = Object.keys(scores[0]);
       
    console.log(parameters);
        2
  •  1
  •   Nick Parsons    1 周前

    如果你可以用不同的键拥有不同的对象,你可以使用 .reduce() 然后得到 Object.values() 你积累的物品:

    const scores = [{name: "A", skills: 50, result: 80}, {name: "B", skills: 40, result: 90}, {x: "C", y: 60, z: 60}];
    
    const res = Object.values(scores.reduce((acc, obj) => {
      const key = Object.keys(obj);
      acc[key] = acc[key] || key;
      return acc;
    }, {}));
    
    console.log(res);