【问题标题】:Sum all numbers javascript对所有数字求和 javascript
【发布时间】:2019-03-03 22:48:53
【问题描述】:

这是我的代码

   $(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玩家值。 我想获得在线玩家的总和和inbattles玩家的总和。 为了存档,我尝试在循环外和循环内创建一个数组,将值推送到数组,然后求和。 但我不认为这是最好的解决方案,所以我想知道这是最好的方法

【问题讨论】:

  • 到目前为止你尝试了什么?
  • getJSON 的回调接收到已经被$.parseJSON 解析的数据。命名 var json 会产生误导,因为它会诱使您误以为它是 JSON,而实际上它不是。然后你会在你的代码中得到像json.nodes 这样的东西,这是没有意义的。 JSON 是从不 具有您可以像这样直接读取的属性的对象。可以解析 JSON 以获取值,但 JSON 始终是一个字符串!

标签: javascript sum


【解决方案1】:

这是一个工作示例:

$(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" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-03
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多