【问题标题】:TypeScript: List of header/value -> List ob objects [closed]TypeScript:标头/值列表->列出ob对象[关闭]
【发布时间】:2021-11-27 11:23:44
【问题描述】:

在 TypeScript 中,是否有一些“不错”的方法可以从键和值数组构建对象列表?

let heads : string [] = ["name", "addr", "age"];
let vals : string [][] = [["sam", "NY", "30"],["chris", "WY", "22"],["sue"," "TX", "55"]];

我需要什么:

[{"name": "sam", "addr": "NY", "age": "30"},
 {"name": "chris", "addr": "WY", "age": "22"},
 {"name": "sue", "addr": "TX", "age": "55"}]

【问题讨论】:

    标签: javascript angular typescript


    【解决方案1】:

    vals中的每个数组与heads合并,并用Object.fromEntries创建一个对象:

    let heads = ["name", "addr", "age"];
    let vals = [["sam", "NY", "30"],["chris", "WY", "22"],["sue", "TX", "55"]];
    
    const result = vals.map(val => Object.fromEntries(heads.map((head, idx) => [head, val[idx]])));
    console.log(result);

    【讨论】:

      【解决方案2】:

      Array.map可以得到结果。

      let heads = ["name", "addr", "age"];
      let vals = [["sam", "NY", "30"], ["chris", "WY", "22"], ["sue", "TX", "55"]];
      
      const result = vals.map((item) => {
         let newItem = {};
         item.forEach((value, index)=> {
            newItem[heads[index]] = value;
         });
         return newItem;
      });
      
      console.log(result);

      【讨论】:

        猜你喜欢
        • 2014-02-24
        • 2014-08-18
        • 2021-09-16
        • 1970-01-01
        • 2017-06-30
        • 2021-10-12
        • 2013-02-08
        • 2013-01-12
        • 1970-01-01
        相关资源
        最近更新 更多