更改对象的属性(高级操作)
let hghg = [ { "Itemname": "肱骨近端加压锁定板-3(含锁定钉)", "Total": 2000, "'新生儿科'": "", "'肿瘤科'": "", "'骨一科'": 2000 }, { "Itemname": "0.9%氯化钠注射液", "Total": 2627, "'新生儿科'": 2627, "'肿瘤科'": "", "'骨一科'": "" }, { "Itemname": "踝部四关节融合术", "Total": 2000, "'新生儿科'": "", "'肿瘤科'": 2000, "'骨一科'": "" }, { "Itemname": "卡铂注射液", "Total": 200, "'新生儿科'": "", "'肿瘤科'": 200, "'骨一科'": "" }, { "Itemname": "阿卡波糖片(卡博平)", "Total": 50, "'新生儿科'": "", "'肿瘤科'": 50, "'骨一科'": "" } ];
let huji = this.columnDefsadd(hghg); this.gridOneOptionsData(huji, hghg);
private columnDefsadd(params) { let columnDefsRow = [] for (var key in params[0]) { columnDefsRow.push(key) } let datacolumnDefs = [] for (let i = 0; i < columnDefsRow.length; i++) { if (i === 0) { let row = { headerName: '项目', field: columnDefsRow[0] } datacolumnDefs.push(row) } else if (i === 1) { let row = { headerName: '合计', field: columnDefsRow[1] } datacolumnDefs.push(row) } else { let row = { headerName: columnDefsRow[i].replace(/'/g, ''), field: `A${i}` } datacolumnDefs.push(row) } } return datacolumnDefs }
private gridOneOptionsData(huji, hghg) { var rObj = {}; for (let j = 0; j < huji.length; j++) { if (j < 2) { rObj[huji[j].field] = huji[j].field; } else { rObj[huji[j].headerName] = huji[j].field; } } let newData = []; for (let i = 0; i < hghg.length; i++) { let d = hghg[i], obj = {}; for (let k in d) { obj[rObj[k.replace(/'/g, '')]] = d[k] } newData.push(obj); } this.gridOneOptions.api.setRowData(newData); }