【问题标题】:Object to Array of objects conversion in TypescriptTypescript中的对象到对象数组的转换
【发布时间】:2017-12-10 03:07:54
【问题描述】:

我需要将对象转换为对象数组才能使用 angular2 *ngFor 指令。我有以下 json 对象。

Object {CountryID: 87944818, ISO2: "do", ISO3: "u", Name: "aliqua sit magna tempor"} 

我需要将它转换成这样的对象数组:

[Object]
     0: Object
       CountryID: 87944818
       ISO2: "do"
       ISO3: "u"
       Name: "aliqua sit magna tempor"

我已经完成了一些使用 Object.keys 和 map 的工作,但无法获得准确的输出。 尝试过这样的事情:

let keys:any[] = [];
        for (let key in value) {
            console.log(key);
            keys.push({key: value[key]});
        }
        console.log(keys);

value是需要转换的对象。

【问题讨论】:

    标签: javascript angular typescript javascript-objects


    【解决方案1】:

    为什么不只是有一个数组并将对象推入其中?

    let myObj = {CountryID: 87944818, ISO2: "do", ISO3: "u", Name: "aliqua sit magna tempor"}
    let myArr = [];
    myArr.push(myObj);
    console.log(myArr);
    

    编辑:

    或者你可以这样做:

    myArr = [myObj]
    

    【讨论】:

    • 为什么不 myArr=[myObj]
    • 是的。不,这不是解构。这是 ES3
    • @CozyAzure 谢谢,这很简单。实际上是我的错。
    【解决方案2】:
    keys.push({[key]: value[key]});
    

    您不想设置“键”,而是设置键的值。

    键是:

    [
      {CountryID: 87944818},
      {ISO2: "do"},
      {ISO3: "u"},
      {Name: "aliqua sit magna tempor"},
    ]
    

    我不知道为什么这应该有用...

    【讨论】:

      猜你喜欢
      • 2019-05-16
      • 1970-01-01
      • 2021-06-20
      • 2022-09-27
      • 2019-02-25
      • 2018-12-13
      • 1970-01-01
      • 1970-01-01
      • 2021-03-28
      相关资源
      最近更新 更多