我有这些数据:
{
"id": "123",
"name": "name here",
"thsub": {
"637": {
"id": "637",
"name": "Sub 1",
"stats": {
"items": 5,
},
"ons": null
},
"638": {
"id": "638",
"name": "Sub 2",
"stats": {
"items": 10,
},
"ons": null
}
},
"ph": 10,
}
这是代码:
mydata = [mydata];
var chList=[];
var thList=[];
var thCount=[];
for (var i = 0; i < mydata.length; i++) {
var obj = mydata[i];
var cl = obj.name;
if (obj.thsub != null) {
chList.push(cl);
}
if(obj.thsub) {
if (i < 10) {
var nme = Object.keys(obj.thsub).map( function(key){
var item = obj.thsub[key];
return item.name;
});
thCount.push(numberofitems);
thList = thList.concat(nme);
thCount = thCount.concat(Array(nme.length).fill(nme.length));
}
}
}
我的问题在于 thCount ...我需要做的是计算 obj.thsub.638 或其他 ...stats.items 上的每个“项目”,并将总数放入 thCount 中,就像我在thList。
因此,期望的结果将是 5 和 10,换句话说:在本例中为 [5, 10]。
thCount 将为 [5, 10]
我该怎么做?
最佳答案
您应该使用键值访问 json 对象,索引用于数组。下面的代码只是为您执行 thcount
var data = {
"id": "123",
"name": "name here",
"thsub": {
"637": {
"id": "637",
"name": "Sub 1",
"stats": {
"items": 5,
},
"ons": null
},
"638": {
"id": "638",
"name": "Sub 2",
"stats": {
"items": 10,
},
"ons": null
}
},
"ph": 10,
};
var thCount = [];
for(key in data.thsub ){
if(data.thsub[key].stats){
thCount.push(data.thsub[key].stats.items);
}
}
console.log(thCount);
关于Javascript 将数据总数放入列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41809838/