在询问之前,我已经进行了很多搜索,但是现在我非常需要帮助。 我有一个对象数组,每个对象都是来自oData rest api的数据集合。 在执行循环以过滤数据之后,我创建了这个json对象:
0: Array(32) [ {…}, {…}, {…}, … ]
1: Array(46) [ {…}, {…}, {…}, … ]
0:[{
"DOCUMENT TYPE": "CF"
},
{
"ACCOUNT TYPE": "D"
},
{
"BILLING DATE": "/Date(253402214400000)/"
},
{
" ACQUISITION COSTS": "0"
}]
我要从此创建一个html表,我需要从此更改为下面的结构。这是json格式的数组
[{
"DOCUMENT TYPE”:”B”
"ACQUISITION COSTS": "200"
}],
[{
"DOCUMENT TYPE": "A",
"ACCOUNT TYPE": "B",
"BILLING DATE": "/Date(229402214400000)/",
"ACQUISITION COSTS": "10"
}]
在那之后,我要进行循环,对于数组的每个索引,我将打印出tr,th和td。
更新: 您建议我根据键的名称进行循环,但是对于每个调用,我接收到不同的数据,并且对于每个数据,如果键不存在并且必须将值添加到单元格tr,td中,则该键必须位于th中
我需要弄清楚如何将对象Json变成一个简单的值键json,并用逗号而不是订书钉和逗号分隔
我希望有人能帮助我。 谢谢
答案 0 :(得分:0)
您要做的就是循环播放
for (var index in array){
console.log(array[index]);
if(array[index].hasOwnProperty('BILLING DATE')){
console.log(array[index]['BILLING DATE']);
}
}
答案 1 :(得分:0)
假设您具有2D数组,则可以使用函数Array.prototype.map
创建具有所需输出的新数组。在函数Array.prototype.reduce
的处理程序中,函数Object.assign
为每个索引创建特定的对象。
let arr = [[{ "DOCUMENT TYPE": "CF" }, { "ACCOUNT TYPE": "D" }, { "BILLING ANOMALIES DATE": "/Date(253402214400000)/" }, { "CAPITALIZED ACQUISITION COSTS": "0" }]],
result = arr.map(a => a.reduce((acc, o) => Object.assign(acc, o), Object.create(null)));
console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }