2017-01-24 7 views
0

Ich habe eine Weile im Internet gesucht und versucht nun eine Möglichkeit zu finden, wie man JSON Array Werte mit Lenkstangen mit + =, oder - = zusammenfasst, wenn die Bedingung erfüllt ist. Ich kann jedoch keine Richtlinien finden, wie man das richtig macht. kann mir jemand erklären, wie man diese Iteration in einen Lenkstangenhelfer verwandelt?Lenker + =, - = wenn Bedingung erfüllt

var table = $("#table tbody"); 
$.getJSON("front-end/ajax/bethistory.php", function(data) { 
    var value = 0; 
    $.each(data, function(a, b) { 
     if (b.action == "win") { 
      value += parseFloat(b.coins); 
     } else if (b.action == "lose") { 
      value -= parseFloat(b.coins); 
     } 
     var tbody = $("<tr/>").append($("<td/>").html(b.action), $("<td/>").html(value)) 
     table.append(tbody); 
    }); 
}); 

so etwas wie das?

var value = 0; 
Handlebars.registerHelper("this_val", function(a,b) { 

     if (a == "win") { 
      value += parseFloat(b); 
     } else if (a == "lose") { 
      value -= parseFloat(b); 
     } 

     return value; 

}); 
+0

kann Ihre Frage nicht verstehen. Sprichst du darüber? Wert + = (b.action === "win" ?: parseFloat (b.coins): parseFloat (b.coins) * (-1) ); – celerno

Antwort

1

für jeden, der das braucht. Ich konnte es herausfinden thanks to this post

Handlebars.registerHelper("compute", function(array, options) { 

     var new_array = "", 
     value = 0, 
     count = array.length; 

     for (var i = 0; i < array.length; i++) { 

      var coins = Number(array[i]['coins']), 
      action = array[i]['action']; 

      if (action == "win") { 
       if (coins > 0) { 
        value += coins; 
       } 
      } else if (action == "lose") { 
       if (coins > 0) { 
        value -= coins; 
       } 
      } 

      array[i]['running'] = value; 
      new_array += options.fn(array[i]); 
     } 
     return new_array; 
    }); 
Verwandte Themen