簡體   English   中英

對所有數字求和 javascript

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM