如何基于键从数组创建对象

时间:2017-08-02 05:18:28

标签: javascript arrays angular typescript

我有一个对象数组。数组可以包含具有相似数据的对象。因此,我根据对象的数据创建了一个键,并尝试根据键将它们组合在一起。所以新的数据结构将是

newObj = {'key':key, 'data': [{obj1}, {obj2}], {'key':key, 'data': [{obj1}, {obj2}]

我尝试过以下操作,但该值不是数组,对象始终是最后一个。如何修改它以便我可以获得上述输出?

getGroupedData(listvalues:any, adjustments:any) {
        var GroupedInstrumentsArray:Array<any> = [];
        var GroupedInstrDic:any;
        var key:any
        listvalues.map((instr, index)=> {
            if (instr.instr_type === 'I' && instr.instr_group_fin === 'Y' ) {
               key = instr.instr_ccy + '_' + moment(instr.payment_due_dt, 'YYYY-MM-DD').format('DD_MMM_YYYY') + '_' + instrument.buy + '_' + instr.po_number + '_' + instrument.upld_ref_no;
                if (instr.type === 'P') {
                    key = key + "_p" + index;
                }
                instrument.key = key;
                if (instrument.key) {
                    GroupedInstrumentsDic =  {
                        'key': key,
                        'value': instrument
                    }
                }
            }
        });
        return GroupedInstrDic;
    }

如何使上面的value数组成为所有具有相同键的对象?提前谢谢。

0 个答案:

没有答案