如何动态创建属性并为其添加值? [重复]

问题描述 投票:0回答:1

从我的API中我得到了2个数组,一个包含列名,另一个包含与这些列匹配的数据。 要使用ag-grid,我需要将列与类的属性进行匹配。

例如:列调用foo和具有名为foo的属性的类:

  public columnDefs: Column[] =
    [{ field: 'foo', headerName: 'Foo') }];

然后我需要一个类来匹配:

export class Bar { public foo: string; }

现在,问题是,我返回一个包含列名称的数组,另一个包含匹配数据的数组,所以我需要创建这样的东西:

x [0]是需要属性的列,x [1]是该属性的值

    for (let index = 0; index < x[1].length; index++) {
              this.rowData.push({ x[0][index]: x[1][index] });
            }

如何才能做到这一点?

javascript typescript ag-grid
1个回答
2
投票

您需要实际获取x[0][index]的值作为关键名称,以便您可以使用ES6方法将其封装在[]

this.rowData.push({ [x[0][index]]: x[1][index] });

var x = [['someKey'],['someValue']];
var rowData = [], index = 0;
rowData.push({ [x[0][index]]: x[1][index] });
console.log(rowData);
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.