簡體   English   中英

無法計算表格行的總和我從互聯網上嘗試了很多方法但沒有

[英]Can't calculate the sum of table rows I've tried many ways from the internet but nothing

我想構建從 api 獲取數據的表,並且我成功了,所以我現在需要計算表行數並在下一行或 span div 中顯示總計,這無關緊要。 我只需要如圖所示的總數..

我已經嘗試了許多計算行的解決方案,但總是得到結果為零或 NaN。 我不確定我做錯了什么,或者我只是在這段代碼的某個地方犯了錯誤……如果可能的話,我將不勝感激您的意見或解決方案。

在此處輸入圖像描述

 function statsYesterday() { $.getJSON('https://api.url, function(data) { var data, i, offer, creative, id, conversion, clicks, payout = ""; for (i in data.response.data.data) { offer += "<table><tr><td>" + data.response.data.data[i].Offer.name + "</td></tr></table>"; creative += "<table><tr><td>" + data.response.data.data[i].OfferUrl.name + "</td></tr></table>"; id += "<table><tr><td>" + data.response.data.data[i].Stat.affiliate_info1 + "</td></tr></table>"; conversion += "<table><tr><td>" + data.response.data.data[i].Stat.conversions + "</td></tr></table>"; clicks += "<table><tr><td>" + data.response.data.data[i].Stat.clicks + "</td></tr></table>"; //this code reduce payout by 20% var num = parseFloat(data.response.data.data[i].Stat.payout); var val = num - (num *.20); payout += "<table><tr><td> &euro; " + val + "</td></tr></table>"; }); //end reduce code //this is how code look like without reducing percentage //payout += "<table><tr><td>" + data.response.data.data[i].Stat.payout + "</td></tr></table>"; document.getElementById("offer_name").innerHTML = offer; document.getElementById("creative_name").innerHTML = creative; document.getElementById("id_name").innerHTML = id; document.getElementById("converion_name").innerHTML = conversion; document.getElementById("clicks_name").innerHTML = clicks; document.getElementById("payout_name").innerHTML = payout; }; }); };

 <body> <div class="container"> <br><br><button onclick="statsYesterday()" style="background-color: #4CAF50;border: none;color: white;padding: 16px 32px;text-align: center;text-decoration: none;display: inline-block;font-size: 16px;margin: 4px 2px;transition-duration: 0.4s;cursor: pointer;">Yesterday</button> &nbsp; &nbsp; &nbsp; <button onclick="statsToday()" style="background-color: #4CAF50;border: none;color: white;padding: 16px 32px;text-align: center;text-decoration: none;display: inline-block;font-size: 16px;margin: 4px 2px;transition-duration: 0.4s;cursor: pointer;">Today</button> &nbsp; &nbsp; &nbsp; <button onclick="statsLastWeek()" style="background-color: #4CAF50;border: none;color: white;padding: 16px 32px;text-align: center;text-decoration: none;display: inline-block;font-size: 16px;margin: 4px 2px;transition-duration: 0.4s;cursor: pointer;">Last Week</button> <br><br> <table class="table" id="table"> <thead> <tr> <th>Offer</th> <th>Creative</th> <th>SubID</th> <th>Conversion</th> <th>Clicks</th> <th>Payout</th> </tr> </thead> <tbody> <tr> <td id="offer_name"></td> <td id="creative_name"></td> <td id="id_name"></td> <td id="converion_name"></td> <td id="clicks_name"></td> <td id="payout_name" style="padding-top:30px;"></td> </tr> </tbody> </table> <br><br> </div> </body>

將值推送到數組中,然后您可以稍后對它們執行加法,如下所示

values=[]
//... your code 
 var num = parseFloat(data.response.data.data[i].Stat.payout);
        var val = num - (num * .20);
         values.push(val)

然后稍后您可以簡單地遍歷數組並添加值

 let total=values.reduce((acc,curr)=>acc+curr)
  document.getElementById("total").textContent=total

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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