在JSON数组中选择并显示所选的值范围

时间:2018-04-27 19:18:50

标签: javascript jquery json

此URL是数组中的100组值。尝试了我的有限的大脑可以想到的一切,以访问和展示(以证明自己有效)这个&#34; 0..10&#34; JUST第一个值<script> $(document).ready(function () { $.getJSON('https://api.coinmarketcap.com/v1/ticker/', function (data) { document.body.append(data[0].percent_change_24h); }); }); </script> - 希望收集平均值。

100

我目前所拥有的只是显示+1的第一个。图中必须有一种更好的方法,而不是每次将10堆叠在|之上。

2 个答案:

答案 0 :(得分:1)

试试这个

$(document).ready(function () {
  $.getJSON('https://api.coinmarketcap.com/v1/ticker/',
    function (data) {
      var i, total = 0.00;
      for (i = 0; i < 10; i++) { 
        total += Number(data[i].percent_change_24h);
      }
      document.body.append((total/10).toFixed(2));
  });
});

答案 1 :(得分:1)

您可以使用CoinMarketCap JSON API端点可用的可选参数:/ticker/

  • (int) start - 返回排名[开始]及以上
  • 的结果
  • (int) limit - 返回[limit]结果的最大值(默认值为100,使用0表示返回所有结果)

并且一次只检索10条记录然后接下来的10条记录可以构建像https://api.coinmarketcap.com/v1/ticker/?start=0&limit=10这样的网址,然后在每次点击后将开始值增加10。查看演示,每次检索10条记录,然后再次点击10条记录。

&#13;
&#13;
var start = 0;
var limit = 10;

$(document).ready(function() {
  $("#dynamic").on('click', function() {
    $.getJSON('https://api.coinmarketcap.com/v1/ticker/?start=' + start + '&limit=' + limit,
      function(data) {
        console.clear();
        for (var currencies in data) {
          if (data.hasOwnProperty(currencies)) {
            console.log(data[currencies].name, data[currencies].percent_change_24h);
            //document.body.append(data[currencies].percent_change_24h);
          }
        }
        start += limit;
      });
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button type="button" id="dynamic">With Limit and start parameter </button>
&#13;
&#13;
&#13;

此外,您应该注意到使用for..in循环来迭代对象。for...in语句在对象的所有可枚举属性上迭代指定的变量。对于每个不同的属性,JavaScript执行指定的语句。