【问题标题】:How to fetch or convert Parse query into array (JavaScript SDK)如何获取 Parse 查询或将其转换为数组(JavaScript SDK)
【发布时间】:2015-05-10 02:04:43
【问题描述】:

我的 Parse 数据库中有一个填充了数字的列,我正在尝试将它们加在一起以获得总数。

如果返回的数据是单个数组,我知道如何将它们加在一起,但我只能弄清楚如何将数字作为单个对象返回。这是我的代码:

        var query = new Parse.Query(Services);
        query.exists("costMonthly");
        query.find({
            success: function (results) {
                for (var i = 0; i < results.length; i++) {
                    var object = results[i];
                    console.log(object.get('costMonthly'));
                }
            },
            error: function (error) {
                alert("Error: " + error.code + " " + error.message);
            }
        });

我将如何获取我想要的数组或至少将我拥有的内容转换为一个数组?

【问题讨论】:

    标签: javascript arrays database parse-platform


    【解决方案1】:

    您似乎正在尝试对 costMonthly 字段求和。您可以使用reduce 轻松做到这一点:

    var query = new Parse.Query(Services);
    query.exists("costMonthly");
    query.find({
        success: function (results) {
            var sum = results.reduce(function(prev, cur) {
               return prev + cur.get('costMonthly');
            }, 0);
        },
        error: function (error) {
            alert("Error: " + error.code + " " + error.message);
        }
    });
    

    如果您的目标是 costMonthly 值的数组,这将起作用:

    var monthlyCosts = results.map(function(item) { 
       return item.get('costMonthly'); 
    });
    

    在此处阅读有关reduce 的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce

    【讨论】:

      【解决方案2】:

      您可以创建一个临时数组,并通过迭代推送结果,这不是最好的解决方案,但如果您想稍后操作结果非常有用:

      var costMonthlyArray=[];
       var query = new Parse.Query(Services);
              query.exists("costMonthly");
              query.find({
                  success: function (results) {
                      for (var i = 0; i < results.length; i++) {
                          var object = results[i];
                          var cost=object.get('costMonthly');
                          costMonthlyArray.push(cost);
                          console.log(cost);
                      }
                  },
                  error: function (error) {
                      alert("Error: " + error.code + " " + error.message);
                  }
              });
      

      【讨论】:

        猜你喜欢
        • 2019-03-02
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-12-24
        • 1970-01-01
        相关资源
        最近更新 更多