gpt4 book ai didi

AngularJS toArray 将对象键转换为数字

转载 作者:行者123 更新时间:2023-12-04 19:04:59 24 4
gpt4 key购买 nike

我在我的项目中使用 angular-filter 按页面对输出对象进行排序,问题是当我使用这样的语法时:

<ul class="catalog-list"
ng-repeat="(key, value) in list | groupBy: 'styl' | toArray | orderBy:'page'">

{{key}}

<li ng-repeat="dziecko in value | filter:search | bookmark:search"
ng-class="{active:isActiveTab(dziecko)}"
ng-click="openItem(dziecko)">
{{dziecko.rodzina}}
<b>{{dziecko.page}}</b>
</li>
</ul>

Angular 将 'styl' 属性 ['nowoczesny','klasyczny'..] 转换为数字。排序工作正常,但我想获得名称而不是数字。

最佳答案

groupBy返回一个对象,然后 orderBy期望数组作为参数,所以这就是你应该使用 toArray 的原因筛选。
toArray像这样工作:
用法: object | toArray: addKey[optional]如果 addKey 设置为 true,过滤器还会附加一个新属性 $key到包含在我们正在迭代的对象中使用的原始键的值以引用该属性

所以,你可以做这样的事情 示例 ,或查看 jsbin

JS:

$scope.groups = [
{ category: 'alpha', id: 2 },
{ category: 'beta', id: 3 },
{ category: 'gamma', id: 0 },
{ category: 'alpha', id: 4 },
{ category: 'beta', id: 5 },
{ category: 'gamma', id: 1 }
];

HTML:
 <ul ng-repeat="group in groups | groupBy:'category' | toArray:true | orderBy:min">
<!-- print the group name -->
<li>{{ group.$key }}</li>
<!-- iterate over the group members and order each group by id -->
<li ng-repeat="item in group | orderBy:'id'">
{{ item }}
</li>
</ul>

结果:
  • 阿尔法
  • {"category":"alpha","id":2}
  • {"category":"alpha","id":4}
  • 测试版
  • {"category":"beta","id":3}
  • {"category":"beta","id":5}
  • Gamma
  • {"category":"gamma","id":0}
  • {"category":"gamma","id":1}
  • 关于AngularJS toArray 将对象键转换为数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27482614/

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