将对象放入AngularJS中的数组中

时间:2017-04-20 18:11:21

标签: javascript angularjs json

我正在为应用程序使用ag-grid,它只需要数组来显示行。我有一个从API返回的对象。此调用始终只返回1个对象。我想将对象转换为长度为1的数组。 这是我的代码:

jobResult.paged().$promise.then(function (results) {
    //ag-grid needs the result to be in an array
    var arrayResult = [];
    angular.forEach(function(results){
        arrayResult.push(results);
    });
    $scope.jobResult = arrayResult;

    if ($scope.lastResultGridOptions.api) {                         
      $scope.lastResultGridOptions.api.setRowData($scope.jobResult);
                            $scope.lastResultGridOptions.api.sizeColumnsToFit();
}
..rest of function

results对象包含API中的数据。但.foreach函数不会将对象推入数组。 我错过了什么?

2 个答案:

答案 0 :(得分:2)

angular.foreach 错误,

正确的方法是,然后你可以拿出键或值并推送到数组,

 angular.forEach(results, function(value, key){
       //push key or value
       arrayResult.push(value);
   });

答案 1 :(得分:0)

为了您的解释,想要一个数组长度为1,结果为[0],为什么不将结果推送到数组中:

   max_list = ["column7000", "column200", "column15000", "column30", "column2"]

   for i in max_frame.columns:
    if i not in max_list:
        del max_frame[i]

如果您尝试从结果中创建数组,那么您可能希望在结果上运行.forEach:

arrayResult.push(results)