如何创建对象的动态键并将其插入对象?

时间:2018-11-06 20:38:51

标签: javascript ecmascript-6

我正在尝试在对象内添加动态创建的对象,但是它覆盖了forEach每次迭代中的属性...我想使用 GREEN 创建一个与图像相等的对象>颜色, RED 颜色就是现在返回给我的颜色。

注意:我不想创建数组,而是动态创建键和值并添加给定对象以随后插入SET中。

example

   static organizeData(){ 
        let organizedData = {};

        let oi = {
            "NAME1": {},
            "NAME2": {}
        }

        console.log(oi)

        API.data.records.forEach(record => {
            record.INDICADORES.forEach(indicadores => {
                if(indicadores.tipo === API.queryIndicatorType){
                    indicadores[indicadores.tipo].KPIS.forEach(kpi => {
                        organizedData = { [kpi.tipo]: kpi[kpi.tipo] }
                    });
                }
            });
        });

        API.organizedData = organizedData;
        console.log(organizedData)
    }

1 个答案:

答案 0 :(得分:0)

您不应分配给organizedData,它会替换整个对象。您应该只将其分配给要创建的特定属性。所以改变:

organizedData = { [kpi.tipo]: kpi[kpi.tipo] }

收件人:

organizedData[kpi.tipo] = kpi[kpi.tipo];