Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.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/Angularjs中的数字平均值_Javascript_Jquery_Angularjs_Json - Fatal编程技术网

Javascript/Angularjs中的数字平均值

Javascript/Angularjs中的数字平均值,javascript,jquery,angularjs,json,Javascript,Jquery,Angularjs,Json,我有一个json响应,其中必须计算每个结果数组的“吞吐量\u kbps”的平均值,其中协议名为“TCP” 我正在为此使用Javascript/Angularjs 请参阅 Thanx提前您可以这样做: var len1 = obj['flows'].length; for (var i=0; i<len1; i++) { var tmp = obj.['flows'][i]; var len2 = tmp.['results'].length; var mean = 0;

我有一个json响应,其中必须计算每个结果数组的“吞吐量\u kbps”的平均值,其中协议名为“TCP

我正在为此使用Javascript/Angularjs

请参阅


Thanx提前

您可以这样做:

var len1 = obj['flows'].length;
for (var i=0; i<len1; i++) 
{
   var tmp = obj.['flows'][i];
   var len2 = tmp.['results'].length;
   var mean = 0;
   for (var j=0; j<len2; ++j)
   {
      var tmpResult = tmp.['results'][j];
      if (tmpResult['protocol'] === 'TCP')
         mean += tmpResult['throughput_kbps'];
   }
   console.log(mean);
}
var len1=obj['flows'].length;

对于(var i=0;i您可以这样做:

var len1 = obj['flows'].length;
for (var i=0; i<len1; i++) 
{
   var tmp = obj.['flows'][i];
   var len2 = tmp.['results'].length;
   var mean = 0;
   for (var j=0; j<len2; ++j)
   {
      var tmpResult = tmp.['results'][j];
      if (tmpResult['protocol'] === 'TCP')
         mean += tmpResult['throughput_kbps'];
   }
   console.log(mean);
}
var len1=obj['flows'].length;
对于(var i=0;i试试这个

var sum = 0;
var count = 0;

data.flows.map(function(d){
    return d.results.filter(function(res){
        if(res.protocol == 'TCP'){
            sum += res.throughput_kbps;
            count++;
            return sum;
        }
    })
});

var avg = sum/count;
试试这个

var sum = 0;
var count = 0;

data.flows.map(function(d){
    return d.results.filter(function(res){
        if(res.protocol == 'TCP'){
            sum += res.throughput_kbps;
            count++;
            return sum;
        }
    })
});

var avg = sum/count;

将JSON作为参数传递给此函数。这将返回您要求的平均吞吐量

function calculateThroughput(json){
 var flowsObj = json.flows;
 var throughputSum = 0;
 var noOfSamples = 0;

 for(noOfFlows in flowsObj){
    var resultObj = flowsObj[noOfFlows].results;
    for(noOfResults in resultObj){
        if(resultObj[noOfResults].protocol == "TCP"){
            throughputSum += resultObj[noOfResults].throughput_kbps;
            noOfSamples++;
        }
    }
 }
 return (throughputSum/noOfSamples);
};

希望这有帮助。

将JSON作为参数传递给此函数。这将返回您要求的平均吞吐量

function calculateThroughput(json){
 var flowsObj = json.flows;
 var throughputSum = 0;
 var noOfSamples = 0;

 for(noOfFlows in flowsObj){
    var resultObj = flowsObj[noOfFlows].results;
    for(noOfResults in resultObj){
        if(resultObj[noOfResults].protocol == "TCP"){
            throughputSum += resultObj[noOfResults].throughput_kbps;
            noOfSamples++;
        }
    }
 }
 return (throughputSum/noOfSamples);
};

希望这有帮助。

过滤“TCP”的结果,提取该集合的吞吐量_kbps,对集合求和,除以集合的计数。您是否使用下划线?@dandavis Thanx,但是否有此示例?@DivakarDass否..仅使用Angularjs
fetch("https://raw.githubusercontent.com/openstack/vmtp/master/doc/source/_static/example.json)。然后(x=>x.json())。然后(x=>x.flows.map(y=>y.results.filter(k=>k.protocol==“TCP”))。然后(r=>r.reduce((a,b=>a.concat(b))。然后(x=>x.length,x.map(y=>y.throughput\u kbps)]。然后(x=>x[0],x[1]。reduce((a,b)=>a+++a++b))。然后(r=>r[1]/r[0])。然后(警报)
过滤“TCP”的结果,提取该集合的吞吐量,求和,除以集合的计数。您是否使用下划线?@dandavis Thanx,但是否有此示例?@DivakarDass no..仅使用Angularjs
fetch(“https://raw.githubusercontent.com/openstack/vmtp/master/doc/source/_static/example.json那么(x=>x.json())。然后(x=>x.flows.map(y=>y.results.filter(k=>k.protocol==“TCP”))。然后(r=>r.reduce((a,b=>a.concat(b))。然后(x=>[x.length,x.map(y=>y.throughput\u kbps)]。然后(x=>[x[0],x[1]。reduce((a,b)=>+a++b)]。然后(r=>r[1]/r[0])。然后(警报)