Javascript,密钥对值的总和';s

Javascript,密钥对值的总和';s,javascript,sum,key,leaderboard,Javascript,Sum,Key,Leaderboard,有人有一个解决方案来为一个密钥添加这些密钥对值吗?我尝试使用dict[id]+=parseFloat(value)将它们添加到密钥对值中,但这会导致错误的操作。我尝试过使用eval(valuestring),我非常确定键中的值仍然是字符串。需要为排行榜获取每个ID的总和 非常感谢您的帮助 dict_提示键的输出 '["U5WUV3A3G"]': '1000.0,200.0,300.0,100.0,500.0,420.0,42.0,98.0,500.0,150.0,300.0,300.0,25

有人有一个解决方案来为一个密钥添加这些密钥对值吗?我尝试使用
dict[id]+=parseFloat(value)
将它们添加到密钥对值中,但这会导致错误的操作。我尝试过使用
eval(valuestring)
,我非常确定键中的值仍然是字符串。需要为排行榜获取每个ID的总和

非常感谢您的帮助

dict_提示键的输出

  '["U5WUV3A3G"]': '1000.0,200.0,300.0,100.0,500.0,420.0,42.0,98.0,500.0,150.0,300.0,300.0,25.0,200.0,',
  '["U5FHMCWP7"]': '50.0,500.0,1000.0,45.0,1000.0,100.0,15.0,3.0,675.0,100.0,225.0,25.0,900.0,100.0,1000.0,10.0,30.0,0.001,0.005,1.755,1.724,1.5,',
  '["U5SJQMME3"]': '100000.,100.0,100.0,100.0,50.0,100.0,100.0,40000.0,10.0,200.0,500.0,',
  '["U6KAYAJ5Q"]': '100.0,200.0,900.0,100.0,100.0,100.0,1000.0,10.0,10.0,1000.0,100.0,100.0,1.0,10.0,800.0,200.0,100.0,190.0,190.0,10.0,10.0,',
  '["U6F1AHQ8H"]': '10.0,100.0,',
  '["U3H65TS9K"]': '500.0,100.0,200.0,500.0,35.414,12.345,',
  '["U5HUZG3MF"]': '1.0,0.5,42.0,44.0,1.0,1.0,7.995,100.0,100.0,100.0,50.0,100.0,4.0,5.0,5.0,5.0,5.0,5.0,',
  '["U5ZPTLXV5"]': '5.0,',
  '["U6EMQC2LF"]': '737.998,2000.0,1000.0,300.0,666.0,6000.0,5000.0,5000.0,1000.0,5000.0,999.0,1.0,5000.0,3000.0,5000.0,9999.0,',
  '["U62EVB2P7"]': '50.0,20.0,100.0,1.0,100.0,50.0,100.0,50.0,100.0,100.0,1.0,',
  '["U3GJ9SREZ"]': '150.0,100.0,100.0,100.0,',
  '["U6F0KBT2P"]': '1000.0,100.0,1000.0,100.0,800.0,100.0,100.0,',
  '["U5WD17D5E"]': '150.0,75.0,',
  '["U697Y6BL3"]': '5.0,1.0,51.0,2.0,1.0,1.0,5.0,',
  '["U6GU038HX"]': '4000.0,',
  '["U4B0NK2NR"]': '100.0,500.0,200.0,100.0,100.0,100.0,100.0,',
  '["U6C23F8MT"]': '49.0,100.0,',
  '["U5KQY01ST"]': '105.0,',
  '["U6FSC0CC8"]': '100.0,100.0,',
  '["U659939GF"]': '20.0,100.0,100.0,100.0,',
  '["U5URNPRSA"]': '5.0,20.0,5.0,5.0,50.0,',
  '["U5VAMV76F"]': '0.5,20.0,200.0,200.0,200.0,200.0,100.0,200.0,5.0,500.0,200.0,50.0,',
  '["U5UL7KWKU"]': '150.0,200.0,',
  '["U61NYHM25"]': '64.0,2.0,',
  '["U6CMX965S"]': '10.0,10.0,20.0,50.0,30.0,',
  '["U5G40R5PF"]': '499.0,',
  '["U4XHS3DHA"]': '51.0,',
  '["U69MY9WDS"]': '10.0,6.414,10.0,10.0,',
  '["U666S65RC"]': '100.0,100.0,',
  '["U5X3MEZ39"]': '1.0,1.0,10.01,10.1,0.002,0.01,1.1,' ]
核心

var dict_tips=[];
var dict_计数=[];
var总和=[]
对于(变量i=0;i<200;i++){
var str=res.messages.matches[i].text;
var stdout=capcon.captureStdout(函数范围(){
对于(变量x=46;x<55;x++){
process.stdout.write(str[x]);
}
});
var id=JSON.stringify(stdout.match(/.{1,9}/g))
var stdout=capcon.captureStdout(函数范围(){
对于(变量x=76;x<85;x++){
process.stdout.write(str[x]);
}                       });
var extract=JSON.stringify(stdout.match(/.{1,9}/g));
var parse=extract.indexOf(/.RDD | RD | R | D |::|/g)
var x=检查和添加(id,摘录)
函数检查和添加(id,摘录){
var found=dict_tips.some(函数(el){
返回el.key==id;})
if(!found){if(parse=-1)
{
var格式=(“”+extract.slice(2,9)).replace(/.RDD | RD | R | D |::|/g,);
var x=format.substr(0,9)+''+format.substr(9);
var总计=x.split(“”)
dict_tips.push({key:id})
dict_tips[id]+=总计
}
其他的
{
var format=extract.slice(2,9)
var x=format.substr(0,9)+''+format.substr(9)
var总计=x.split(“”)
dict_tips.push({key:id})
dict_tips[id]=“”;
dict_tips[id]+=总计
}
}
其他的
{
var extract=stdout.match(/.{1,9}/g);
var parse=extract.indexOf(/.RDD | RD | R | D |::|/g)
if(parse=-1)
{
var格式=(“”+extract).replace(/.RDD | RD | R | D |::|/g,);
var x=format.substr(0,9)+''+format.substr(9);
var总计=x.split(“”)
dict_tips[id]+=总计
}
其他的
{
var format=extract.slice(1,9)
var x=format.substr(0,9)+''+format.substr(9);
var总计=x.split(“”)
dict_tips[id]+=总计
};
}
}
}
var sum=dict_tips.reduce(函数(a,b){返回a+b;},0);
log(JSON.stringify(sum))
控制台日志(dict_提示)

在PHP中,可以在逗号上进行分解,考虑javascript的拆分。之后,您将通过split函数刚刚创建的数组的每个索引运行一个循环,并将其添加到总和中。您还需要对索引的每个值执行parsefloat。

拆分字符串,然后
parsefloat
并汇总值:

const数据={
“[“U5WUV3A3G”]:“1000.0200.0300.0100.0500.0420.0,42.0,98.0500.0150.0300.0300.0,25.0200.0”,
“[“U5FHMCWP7”]:“50.0500.01000.0,45.01000.0100.0,15.0,3.0675.0100.0225.0,25.0900.0100.01000.0,10.0,30.0,0.001,0.005,1.755,1.724,1.5”,
“[“U5SJQMME3”]:“100000,100.0100.0100.0,50.0100.0100.040000.0,10.0200.0500.0”,
“[“U6KAYAJ5Q”]:“100.0200.0900.0100.0100.01000.0,10.0,10.01000.0100.0100.0,1.0,10.0800.0200.0100.0190.0190.0,10.0,10.0,10.0”,
“[“U6F1AHQ8H”]:“10.0100.0,”,
“[“U3H65TS9K”]:“500.0100.0200.0500.0,35.414,12.345”,
“[“U5HUZG3MF”]:“1.0,0.5,42.0,44.0,1.0,1.0,7.995100.0100.0100.0,50.0100.0,4.0,5.0,5.0,5.0,5.0”,
“[“U5ZPTLXV5”]:“5.0”,
“[“U6EMQC2LF”]:“737.9982000.01000.0300.0666.06000.05000.05000.01000.05000.0999.0,1.05000.03000.05000.09999.0”,
“[“U62EVB2P7”]:“50.0,20.0100.0,1.0100.0,50.0100.0,50.0100.0100.0,1.0,”,
“[“U3GJ9SREZ”]:“150.0100.0100.0100.0”,
“[“U6F0KBT2P”]:“1000.0100.01000.0100.0800.0100.0100.0”,
“[“U5WD17D5E”]:“150.0,75.0,”,
“[“U697Y6BL3”]:“5.0,1.0,51.0,2.0,1.0,1.0,5.0,”,
“[“U6GU038HX”]:“4000.0”,
“[“U4B0NK2NR”]:“100.0500.0200.0100.0100.0100.0100.0100.0”,
“[“U6C23F8MT”]:“49.0100.0”,
“[“U5KQY01ST”]:“105.0”,
“[“U6FSC0CC8”]:“100.0100.0,”,
“[“U659939GF”]:“20.0100.0100.0100.0”,
“[“U5URNPRSA”]:“5.0,20.0,5.0,5.0,50.0”,
“[“U5VAMV76F”]:“0.5,20.0200.0200.0200.0200.0100.0200.0,5.0500.0200.0,50.0”,
“[“U5UL7KWKU”]:“150.0200.0”,
“[“U61NYHM25”]:“64.0,2.0,”,
“[“U6CMX965S”]:“10.0,10.0,20.0,50.0,30.0”,
“[“U5G40R5PF”]:“499.0,”,
“[“U4XHS3DHA”]:“51.0”,
“[“U69MY9WDS”]:“10.0,6.414,10.0,10.0,”,
“[“U666S65RC”]:“100.0100.0,”,
“[“U5X3MEZ39”]:“1.0,1.0,10.01,10.1,0.002,0.01,1.1,”
}
const sums=Object.keys(数据).reduce((结果,键)=>{
结果[键]=数据[键]。拆分(',')
.map(项=>parseFloat(项))
.filter(项目=>!isNaN(项目))
.reduce((res,item)=>res+item,0)
返回结果
}, {})

log(sums)
您可以使用
for in
简单地遍历数据键。 然后,您需要
将字符串拆分成一个数组,并使用
reduce
对值求和

const数据={
“[“U5WUV3A3G”]:“1000.0200.0300.0100.0500.0420.0,42.0,98.0500.0150.0300.0300.0,25.0200.0”,
“[“U5FHMCWP7”]:“50.0500.01000.0,45.01000.0100.0,15.0,3.0675.0100.0225.0,25.0900.0100.01000.0,10.0,30.0,0.001,0.005,1.755,1.724,1.5”,
“[“U5SJQMME3”]:“100000,100.0100.0100.0,50.0100.0100.040000.0,10.0200.0500.0”,
“[”U6KAY
    var dict_tips = [];
    var dict_counts = [];
    var sum = []
    for (var i = 0; i < 200 ; i++)                                          {
    var str = res.messages.matches[i].text;
    var stdout = capcon.captureStdout(function scope() {
    for (var x = 46 ; x < 55 ; x++) {
    process.stdout.write(str[x]);
                                    }
                                                    });
    var id = JSON.stringify(stdout.match(/.{1,9}/g))
    var stdout = capcon.captureStdout(function scope() {
    for (var x = 76 ; x < 85 ; x++) {
    process.stdout.write(str[x]);
                                    }                       });
    var extract = JSON.stringify(stdout.match(/.{1,9}/g));
    var parse = extract.indexOf(/.RDD|RD|R|D|:| /g)
    var x = checkAndAdd(id,extract)
    function checkAndAdd(id,extract) {
      var found = dict_tips.some(function (el) {
        return el.key === id;  })
if (!found) {   if (parse = -1)
                {
                var format = ( ""+extract.slice(2,9)).replace(/.RDD|RD|R|D|:| /g,'');
                var x = format.substr(0, 9) + " " + format.substr(9);
                var total = x.split(" ")             
                dict_tips.push({key: id})
                dict_tips[id] += total
                }
                else
                {
                var format = extract.slice(2,9)
                var x = format.substr(0, 9) + " " + format.substr(9)
                var total =  x.split(" ")
                dict_tips.push({key: id})
                dict_tips[id] = "";
                dict_tips[id] += total
                }
        }
        else
        {
                var extract = stdout.match(/.{1,9}/g);
                var parse = extract.indexOf(/.RDD|RD|R|D|:| /g)
                if (parse = -1)
                {
                var format = ( "" + extract).replace(/.RDD|RD|R|D|:| /g,'');
                var x = format.substr(0, 9) + " " + format.substr(9);
                var total =  x.split(" ")
                dict_tips[id] += total
                }
                else
                {
                var format = extract.slice(1,9)
                var x = format.substr(0, 9) + " " + format.substr(9);
                var total =  x.split(" ")
                dict_tips[id] += total
                };

        }

}

}
var sum =  dict_tips.reduce(function(a, b) { return a + b; }, 0);
console.log(JSON.stringify(sum))
console.log(dict_tips)