Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用vanilla js获取json字符串中键的总和_Javascript_Json - Fatal编程技术网

Javascript 使用vanilla js获取json字符串中键的总和

Javascript 使用vanilla js获取json字符串中键的总和,javascript,json,Javascript,Json,我有这个东西 { 'company': [{ 'you': 619000, 'group': 47918 }], 'savings': [{ 'you': 1805000, 'group': 278172 }], 'carBoat': [{ 'you': 269000, 'group': 101666 }], 'pension': [{

我有这个东西

{
    'company': [{
        'you': 619000,
        'group': 47918
    }],
    'savings': [{
        'you': 1805000,
        'group': 278172
    }],
    'carBoat': [{
        'you': 269000,
        'group': 101666
    }],
    'pension': [{
        'you': 2220000,
        'group': 1023814
    }],
    'home': [{
        'you': 3600000,
        'group': 2114516
    }]
}

我试图找出一种有效的方法来计算所有你们和所有团队的总和,但我很难找到它

我想避免做类似的事情

company.you + savings.you + carBoat.you + pension.you + home.you 
使用对象迭代器,如和

常数ob={ “公司”:[{ “你”:619000, “组”:47918 }], “储蓄”:[{ “你”:1805000, “组”:278172 }], “carBoat”:[{ ‘你’:269000, “组”:101666 }], “养老金”:[{ “你”:222万, “组”:1023814 }], “家”:[{ “你”:3600000, “组”:2114516 }] }; const youTot=Object.valuesob.reducea,v=>a+=v[0]。你,0; console.logyouTot您可以使用.reduce。例如,如果数组中有多于1个元素,我将在reduce的内部使用第二个reduce

让json={ “公司”:[{ “你”:619000, “组”:47918 }], “储蓄”:[{ “你”:1805000, “组”:278172 }], “carBoat”:[{ ‘你’:269000, “组”:101666 }], “养老金”:[{ “你”:222万, “组”:1023814 }], “家”:[{ “你”:3600000, “组”:2114516 }] } 让结果=Object.valuesjson.reducea,v=>{ 让你s=v.reducea,v=>a+v.you,0; 设群=v.reducea,v=>a+v.group,0 a、 你+=你; a、 组+=组; 返回a; },{you:0,group:0} console.logresult 常量对象={ “公司”:[{ “你”:619000, “组”:47918 }], “储蓄”:[{ “你”:1805000, “组”:278172 }], “carBoat”:[{ ‘你’:269000, “组”:101666 }], “养老金”:[{ “你”:222万, “组”:1023814 }], “家”:[{ “你”:3600000, “组”:2114516 }] }; 让结果=Object.valuesobj.reduceac,curr=>{ acc.you+=curr[0]。您; acc.group+=curr[0]。集团; 返回acc; },{you:0,group:0};
console.logresultd您希望您和组的总和在一个结果中还是作为两个单独的结果?还有,你的对象的值是数组吗?那么你的问题基本上归结为,我如何在不知道对象属性的名称或编号的情况下循环对象属性?这应该是你们应该能够很容易地研究的东西。循环它们?所有你们和所有小组的总和,但你们的例子只和你们,什么是对的?正是我要找的。