如何将一个对象追加到Javascript JSON对象中
我有一个Javascript对象,其中包含以对象数组形式的JSON,例如:
columnDefs: [
{ name: 'Report', field: 'RPT', width: 80 },
{ name: 'Element', field: 'ELEM', width: 200 },
...
]
我需要添加。
cellClass: myFunction
在columnDefs对象数组中的每个单独列定义中添加以下内容,格式如下:
columnDefs: [
{ name: 'Report', field: 'RPT', width: 80, cellClass: myFunction },
{ name: 'Element', field: 'ELEM', width: 200, cellClass: myFunction },
...
]
请注意,myFunction 不应该被引号包含。由于每个列定义都是一个对象,而不是数组,所以我理解在添加任何内容之前需要将其转换为数组:
var keys = Object.keys( columnDefs );
for( var key in keys ) {
var col = columnDefs[key]
var colArray = [];
colArray.push( JSON.parse( JSON.stringify( col )));
colArray.push( { cellClass: myFunction } );
colDefs[key] = colArray;
}
然而,上述代码生成了以下内容,而这并不是所需的:
[ { name: 'Report', field: 'RPT', width: 80 }, { cellClass: myFunction } ]
有没有更简单、更好的方法来做这件事?
Object.keys
,是吗? - VencolDefs[key] = colArray;
中的每个元素都是未定义的。 - jcubic