[英]Sum all numbers javascript
這是我的代碼
$(document).ready(function () {
var interval = 10000;
var refresh = function() {
$("#nodes").empty();
$.getJSON("https://tankionline.com/s/status.js",function(json){
let sum = json.nodes.reduce((acc, obj)=>(val+obj.online+obj.inbattles), 0);
console.log(sum);
console.log("updated");
var nodes = Object.keys(json.nodes).length;
for (var i = 0; i < nodes; i++) {
var num = i + 1;
var main = 'main.c' + num;
$("#nodes").append(`
<tr>
<th scope="row">${num}</th>
<td> ${json.nodes[main].online} </td>
<td> ${json.nodes[main].inbattles} </td>
<td> ${json.nodes[main].online - json.nodes[main].inbattles} </td>
</tr>
`)
}
});
setTimeout(function() {
refresh();
},
interval);
}
refresh();
});
json 文件中包含 20 個服務器,每個服務器中都有一個在線玩家值和一個 inbattles 玩家值。 我想獲得在線玩家的總和和內戰玩家的總和。 為了存檔,我試圖在循環外和循環內創建一個數組,將值推送到數組,然后進行求和。 但我不認為這是最好的解決方案,所以我想知道這是最好的方法
這是一個工作示例:
$(function() { setInterval(function() { console.log("Updating..."); $.getJSON("https://tankionline.com/s/status.js", function(data) { var totalOnline = Object.values(data.nodes).reduce((total, obj) => (total + obj.online), 0); var totalInBattles = Object.values(data.nodes).reduce((total, obj) => (total + obj.inbattles), 0); $("#online").val(totalOnline); $("#inBattles").val(totalInBattles); }); }, 3000); });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <label>Online:</label> <input type="number" id="online" /> <label>In Battles:</label> <input type="number" id="inBattles" />
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.