我有这种Json结构:



这是从后端生成的(我正在使用Firebase),并放入一个变量中:

var newJson = {}


我正在使用AngularJS和ng-repeat这个变量来显示结果-并且它可以工作。我想按投票属性订购JSON,并且尝试使用angularJS

| orderBy: 'vote' "


但这不起作用,因为我通过JSON而不是数组来“ ng-重复”。
我尝试了https://github.com/angular/angular.js/issues/1286中显示的不同解决方案
但是我什么也做不了。

因此,我想走一条轻松的道路,将JSON转换为数组。
我试过了 :

 var arreyM = [];
 for (var i = 0; i < $scope.newJson.length; i++) {
      arreyM.push(name: $scope.newJson[i].name, pic: $scope.newJson[i].pic, vote:$scope.newJson[i].vote);
 }


但这给了我错误-我猜语法是错误的。

最佳答案

尝试这个

var arreyM = [];
 for (var i = 0; i < $scope.newJson.length; i++) {
      arreyM[i]['name']= $scope.newJson[i].name;
      arreyM[i]['pic']= $scope.newJson[i].pic
      arreyM[i]['pic'] =  $scope.newJson[i].vote;
 }


希望对你有帮助

关于javascript - 对象到数组-快速转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18012859/

10-12 14:19