Javascript 将数据总数放入列表中

标签 javascript arrays

我有这些数据:

{
    "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/

相关文章:

c - 将 3D 数组的 1 个值分配给 1D 数组

javascript - Ember.js 如何观察输入改变的数组键

javascript - ng-fullcalendar 需要仅显示具有特定 id 的事件

c++ - 在类中初始化空数组

php - 无法将字符串偏移量用作数组 - 我需要在 foreach 中反序列化吗?

ios - 'NSInvalidArgumentException',原因:'-[NSTaggedPointerString count]:无法识别的选择器已发送到实例0x8000000000000000'

javascript - 测试自定义 Angular Directive(指令)是否显示/隐藏元素

javascript - 输入类型日期、时间不适用于除 Chrome 之外的其他浏览器

javascript - export default something() 意思

java - 有没有一个Java函数可以将有序对数组转换为整数数组?