我可以在html表中只取正值的json吗

beq87vna  于 2022-12-20  发布在  其他
关注(0)|答案(1)|浏览(102)

我想要到fetch json API在html表格仅仅与值之上10
这是我的代码和我的java脚本。我不希望json只取负值和0的值。,......有什么办法可以缩短这个吗?

<html>
    <body>
<div class="container">
    
    <table class="table table-bordered" style="white-space:nowrap;"
     id="table1">
        <thead class="table-dark" style="white-space:nowrap;"
        >
            <tr class="tr" style="white-space:nowrap;"
            >
                <th>OI</th>
                <th>OI Change</th>
                <th>Volume</th>
                <th>Change LTP</th>
                <th>LTP</th>
                <th>Strike Price</th>
                <th>LTP</th>
                <th>Volome</th>
                <th>Change LTP</th>
                <th>OI Change</th>
                <th>OI</th>
              </tr>
            </thead>
            <tbody id="datapcr">
        
        <tbody>
      </table>
</div>
    <script>
    fetch("url").then(
        res => {
          res.json().then(
            data => {
            //   console.log(data.Algo);
              if (data.Algo.length > 0) {
      
                var temp = "";
                data.Algo.forEach((itemData) => {
                  temp += "<tr>";
                  temp += "<td>" + itemData.oi + "</td>";
                  temp += "<td>" + itemData.oichange + "</td>";
                  temp += "<td>" + itemData.vol + "</td>";
                  temp += "<td>" + itemData.changeltp + "</td>";
                  temp += "<td>" + itemData.ltp + "</td>";
                  temp += "<td>" + itemData.strike + "</td>";
                  temp += "<td>" + itemData.ltp2 + "</td>";
                  temp += "<td>" + itemData.changeltp2 + "</td>";
                  temp += "<td>" + itemData.vol2 + "</td>";
                  temp += "<td>" + itemData.oichange2 + "</td>";
                  temp += "<td>" + itemData.oi2 + "</td></tr>";
                });
                document.getElementById('datapcr').innerHTML = temp;
              }
            }
          )
        }
      )</script>
</body>
</html>
v1uwarro

v1uwarro1#

对于API的响应,这完全取决于您是否可以在API请求中提供过滤器,但是,如果您只是想过滤响应,则可以在循环API响应数据的代码中添加**if语句。

data.Algo.forEach((itemData) => {
    if (itemData.value > 10) {
        temp += "<tr>";
        temp += "<td>" + itemData.oi + "</td>";
        temp += "<td>" + itemData.oichange + "</td>";
        temp += "<td>" + itemData.vol + "</td>";
        temp += "<td>" + itemData.changeltp + "</td>";
        temp += "<td>" + itemData.ltp + "</td>";
        temp += "<td>" + itemData.strike + "</td>";
        temp += "<td>" + itemData.ltp2 + "</td>";
        temp += "<td>" + itemData.changeltp2 + "</td>";
        temp += "<td>" + itemData.vol2 + "</td>";
        temp += "<td>" + itemData.oichange2 + "</td>";
        temp += "<td>" + itemData.oi2 + "</td></tr>";
    }
});
document.getElementById('datapcr').innerHTML = temp;

现在,如果响应数据中的当前项具有大于10的值,则临时HTML字符串将仅添加新行。注意,我刚刚使用了itemData.value,但您可能希望将其更改为数据中需要为正值的任何值。

相关问题