javascript - Angular Js ng-repeat 遍历 JSON

标签 javascript angularjs json

我是stackoverflow的新手,请指正我的错误。

以下是我的 JSON:

newTodo = {
            title: "task 1",
            cat: "category 1",
        };

同理

newTodo = {
            title: "task 2",
            cat: "category 1",
        }; 


        newTodo = {
            title: "task 3",
            cat: "category 3",
        };

现在在我的 HTML 中,我应该如何编写如下代码:

<li ng-repeat="todo in todos">

            {{todo.title}}
            {{todo.cat}}

</li>

但上面是错误的,我希望任务按类别显示如下:

类别1:任务列表 第二类:任务列表

请帮忙。如果问题不清楚,请告诉我。

最佳答案

var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
  $scope.todos = [{
    "title": "Task1",
    "cat": "Cat1"
  }, {
    "title": "Task2",
    "cat": "Cat1"
  }, {
    "title": "Task1",
    "cat": "Cat2"
  }];

  var reduced = {};

  $scope.todos.map(function(item) {
    reduced[item.cat] = reduced[item.cat] || [];
    reduced[item.cat].push(item.title);
  });

  $scope.reducedOutput = reduced;
});
li{
 color: red; 
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="myCtrl">
 
  <ul ng-repeat="(key, value) in reducedOutput">
    {{key}}
    <li ng-repeat="title in value">{{title}}</li>
  </ul>

</div>

关于javascript - Angular Js ng-repeat 遍历 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40214069/

相关文章:

javascript - Breeze 扩展属性 - 如何在 Controller 数组中引用

javascript - 使用 Angular 将数据绑定(bind)到 div 中的单个单词

javascript - 将下拉列表值传递给谷歌地图javascript

javascript - Push() 在 JavaScript 中不起作用

javascript - 如何使用 AngularJS ngShow 指令仅显示数组中的元素?

java - Elasticsearch JEST 日期序列化 java

PHP ARRAY 附带 "\"

json - 将带有 Json 数据的字符串传递给 Golang 中的 Map

javascript - jQuery:查找下一个不是兄弟的元素

javascript - v-card 中的边距按钮不生效