我正在对一个大的json数组进行分组。它的工作,但在阵列的最后,我得到一个"未定义"类别。
'The University and Jepson Herbaria
- California Herbs Collection
University of California Museum of Paleontology
- UCMP Vertebrate Collection
undefined
-
-
我无法弄清楚它的来源。这是我使用的代码。
<div ng-repeat="(key,value) in datasources | groupBy: 'institution'" > {{ key }}
<li ng-repeat="collection in value">
{{ collection.name }}
</li>
</div>
有什么想法吗?
我认为这可能是这个家伙所遇到的问题的重新混合,但我并没有完全关注这个问题 - 我是角度和js的新手:angular typeahead filter error "undefined is not a function"
更新: 当我将collection.name更改为集合时(所以我只是转储键的值)
<div ng-repeat="(key,value) in datasources | groupBy: 'institution'" > {{ key }}
<li ng-repeat="collection in value">
{{ collection }}
</li>
</div>
我得到:
'The University and Jepson Herbaria
- (...long value...)
University of California Museum of Paleontology
- (...long value...)
undefined
- {}
- true
它就像它循环通过一切,但还有2个额外的东西。 groupBy函数的来源是:https://github.com/a8m/angular-filter/blob/master/src/_filter/collection/group-by.js
我在js中没有足够的能力去做它的正面或反面。
答案 0 :(得分:0)
感谢@james的帮助!!我整天都被困住了。
我正在使用工厂返回一个json对象。完成后,其他一些东西会被加入。 Why does angular $resource add extra objects ($promise, $resolve...) to my data response?
重点是$ promise和$ resolved返回。如果您循环使用新对象,则可以使用这些对象。
要剥离Angular添加的变量并仅使用您的数据:angular.toJson。然后使用JSON.parse将其转回json对象。
$scope.datasources = JSON.parse(angular.toJson(data))