Javascript将两个字段/键添加在一起

Javascript将两个字段/键添加在一起,javascript,arrays,calculation,Javascript,Arrays,Calculation,在这里,我非常熟悉Javascript和编程。如果您能提供任何帮助或指导,我将不胜感激 我正在做一个辅助项目,从RESTAPI中提取数据并将其显示在html表中。下面是函数 function example(){ callApi('URL Here',function(apiObject){ document.getElementById("result").innerHTML = "<pre>"+JSON.stringify(apiObject, null, 4)+"&l

在这里,我非常熟悉Javascript和编程。如果您能提供任何帮助或指导,我将不胜感激

我正在做一个辅助项目,从RESTAPI中提取数据并将其显示在html表中。下面是函数

function example(){

callApi('URL Here',function(apiObject){

   document.getElementById("result").innerHTML = "<pre>"+JSON.stringify(apiObject, null, 4)+"</pre>";
   });

};

function callApi(apiRequest,callback) {
    var xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
      if (xhttp.readyState == 4 && xhttp.status == 200) {
        var jsonObject = JSON.parse(xhttp.responseText);
        callback(jsonObject);
      }
    };
    xhttp.open("GET", apiRequest, true);
    xhttp.send();
}
我需要的帮助是如何循环输出并从“kWh_Tot_Max”值中减去“Rev_kWh_Tot_Max”值,然后将结果放入数组中的新“字段/键”(不确定术语是否正确)

以下是我想表达的意思:


任何帮助都将不胜感激

您可以迭代JSON
数组
并添加一个属性,如下所示

var json=[{
“开始时间戳UTC时间戳”:1496121339796,
“结束时间戳”UTC\ms:1496122179526,
“结束日期”:“2017年5月30日星期二15:29:39 GMT+1000(GMT)”,
“开始日期”:“2017年5月30日星期二15:15:39 GMT+1000(GMT)”,
“仪表”:350000562,
“协议”:“v4”,
“计数”:15,
“已拒绝\u错误”:0,
“已拒绝的重复项”:0,
“kWh_Tot_Max”:2100.57,
“Rev_kWh_Tot_Max”:1243.29,
“净千瓦时”:857.28
},
{
“开始时间戳UTC时间戳”:1496120439546,
“结束时间戳UTC时间戳”:1496121279556,
“结束日期”:“2017年5月30日星期二15:14:39 GMT+1000(GMT)”,
“开始日期”:“2017年5月30日星期二15:00:39 GMT+1000(GMT)”,
“仪表”:350000562,
“协议”:“v4”,
“计数”:15,
“已拒绝\u错误”:0,
“已拒绝的重复项”:0,
“kWh_Tot_Max”:2100.35,
“Rev_kWh_Tot_Max”:1243.13,
“净千瓦时”:857.22
},
];
for(var i=0;i
您可以使用
var数据=[{
“开始时间戳UTC时间戳”:1496121339796,
“结束时间戳”UTC\ms:1496122179526,
“结束日期”:“2017年5月30日星期二15:29:39 GMT+1000(GMT)”,
“开始日期”:“2017年5月30日星期二15:15:39 GMT+1000(GMT)”,
“仪表”:350000562,
“协议”:“v4”,
“计数”:15,
“已拒绝\u错误”:0,
“已拒绝的重复项”:0,
“kWh_Tot_Max”:2100.57,
“Rev_kWh_Tot_Max”:1243.29
},
{
“开始时间戳UTC时间戳”:1496120439546,
“结束时间戳UTC时间戳”:1496121279556,
“结束日期”:“2017年5月30日星期二15:14:39 GMT+1000(GMT)”,
“开始日期”:“2017年5月30日星期二15:00:39 GMT+1000(GMT)”,
“仪表”:350000562,
“协议”:“v4”,
“计数”:15,
“已拒绝\u错误”:0,
“已拒绝的重复项”:0,
“kWh_Tot_Max”:2100.35,
“Rev_kWh_Tot_Max”:1243.13
},
];
var输出=data.map(函数(d){
d、 净千瓦时=d.kwh总最大值-d.Rev总最大值;
返回d;
});

控制台日志(输出)这是迄今为止最好的答案,map比JavaScript中的for循环更惯用,并且在可能的情况下避免变异也很好。谢谢大家!帮了大忙!
[
{
    "Start_Time_Stamp_UTC_ms": 1496121339796,
    "End_Time_Stamp_UTC_ms": 1496122179526,
    "End_Date": "Tue May 30 2017 15:29:39 GMT+1000 (GMT)",
    "Start_Date": "Tue May 30 2017 15:15:39 GMT+1000 (GMT)",
    "Meter": 350000562,
    "Protocol": "v4",
    "Count": 15,
    "rejected_bad": 0,
    "rejected_duplicates": 0,
    "kWh_Tot_Max": 2100.57,
    "Rev_kWh_Tot_Max": 1243.29
},
{
    "Start_Time_Stamp_UTC_ms": 1496120439546,
    "End_Time_Stamp_UTC_ms": 1496121279556,
    "End_Date": "Tue May 30 2017 15:14:39 GMT+1000 (GMT)",
    "Start_Date": "Tue May 30 2017 15:00:39 GMT+1000 (GMT)",
    "Meter": 350000562,
    "Protocol": "v4",
    "Count": 15,
    "rejected_bad": 0,
    "rejected_duplicates": 0,
    "kWh_Tot_Max": 2100.35,
    "Rev_kWh_Tot_Max": 1243.13
},
]
[
{
    "Start_Time_Stamp_UTC_ms": 1496121339796,
    "End_Time_Stamp_UTC_ms": 1496122179526,
    "End_Date": "Tue May 30 2017 15:29:39 GMT+1000 (GMT)",
    "Start_Date": "Tue May 30 2017 15:15:39 GMT+1000 (GMT)",
    "Meter": 350000562,
    "Protocol": "v4",
    "Count": 15,
    "rejected_bad": 0,
    "rejected_duplicates": 0,
    "kWh_Tot_Max": 2100.57,
    "Rev_kWh_Tot_Max": 1243.29,
    "Net_kWh": 857.28
},
{
    "Start_Time_Stamp_UTC_ms": 1496120439546,
    "End_Time_Stamp_UTC_ms": 1496121279556,
    "End_Date": "Tue May 30 2017 15:14:39 GMT+1000 (GMT)",
    "Start_Date": "Tue May 30 2017 15:00:39 GMT+1000 (GMT)",
    "Meter": 350000562,
    "Protocol": "v4",
    "Count": 15,
    "rejected_bad": 0,
    "rejected_duplicates": 0,
    "kWh_Tot_Max": 2100.35,
    "Rev_kWh_Tot_Max": 1243.13,
    "Net_kWh": 857.22
},
]