首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >handlebars +=,-= if条件满足

handlebars +=,-= if条件满足
EN

Stack Overflow用户
提问于 2017-01-25 04:58:00
回答 1查看 146关注 0票数 0

我已经在网上搜索了一段时间,现在试图找到一种方法,使用+=或-= (如果满足条件)使用handlebars聚合json数组值。然而,我似乎找不到任何关于如何正确做到这一点的指导。有没有人可以指导我如何将这个迭代转换成一个把手帮助器?

代码语言:javascript
复制
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);
    });
});

像这样的东西?

代码语言:javascript
复制
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;

});
EN

回答 1

Stack Overflow用户

发布于 2017-01-25 07:03:07

给任何需要这个的人。我想通了,thanks to this post

代码语言:javascript
复制
    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;
    });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41838867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档