通过嵌套for循环解析查询是重复结果

时间:2015-08-09 02:34:42

标签: javascript parse-platform

我正在尝试遍历一个数组来查询我的订单类以找到一个关联的id,然后循环遍历 另一个有这个id的班级。

原始数组中有4个元素,它们应该匹配一个id,每个id在第3个查询中都有43个元素。

然而,我没有从每个id的第3个查询中获得43个结果,而是得到12 * 43个结果。

我无法弄清楚我的代码是如何错误的,我也尝试过containsIn也没有任何结果。

    $scope.positionIds = [];
    $scope.dataDictionary = {};
    $scope.quotes = function () {
    for (var i=0; i < $scope.positions.length; i++){
    var positionNow  = $scope.positions[i];
    var orderQuery = new Parse.Query('Order');
    orderQuery.equalTo('objectId', positionNow );
    orderQuery.find({
          success: function(result) {
            console.log(result);
              for (var j=0; j < result.length; j++){
                      $scope.positionIds.push(result[j].attributes.positionId);
              }
              for (var k=0; k < $scope.positionIds.length; k++){
                    var portfolioQuery = new Parse.Query('DayPosition');
                    portfolioQuery.limit(1000);
                    var positionSecond = $scope.positionIds[k];
                    portfolioQuery.equalTo('positionId', positionSecond);
                    console.log("positionId", $scope.positionIds[k]);
                    portfolioQuery.find({
                          success: function(result) {
                            console.log("count", result.length);
                              for (var h=0; h < result.length; h++){
                                    // console.log("count", result.length);
                                    console.log("double inside data time", result[h].createdAt);
                                    console.log("double inside data id", $scope.positionIds[k]);
                                    console.log("value", result[h].attributes.currentValue);
                                    var values = [];
                                    values.push([result[h].createdAt,
                                    result[h].attributes.currentValue]);
                                    if (!$scope.dataDictionary[result[h].attributes.positionId]){
                                        $scope.dataDictionary[result[h].attributes.positionId] = [];
                                    } else {
                                      $scope.dataDictionary[result[h].attributes.positionId].push(values); 
                                    }
                              }
                              console.log("final data", $scope.dataDictionary);
                    },
                    error: function (error) {
                      console.log("this error", error);
                    }
                }); 
            }      
          },
          error: function (error) {
            console.log("this error", error);
          }
      }); 
  }
};

0 个答案:

没有答案