gpt4 book ai didi

javascript - Angular 过滤器 groupby 过滤器返回 "undefined"字段

转载 作者:行者123 更新时间:2023-11-28 07:44:25 26 4
gpt4 key购买 nike

我正在对一个大型 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>

有什么想法吗?

我认为这可能是这些人遇到的问题的混合体,但我不太明白这个问题——我是 Angular 和 js 的新手:angular typeahead filter error "undefined is not a function"

更新:当我将 collection.name 更改为 collections 时(所以我只是转储键的值)

<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 方面的能力还不够,无法搞清楚它的情况。

最佳答案

感谢@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))

关于javascript - Angular 过滤器 groupby 过滤器返回 "undefined"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27606954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com