2016-12-27 103 views
0

我在angularjs新的定义,所以我需要你的帮助:)angularjs过滤器的名字和日期

我有一个json数据这样

data = [{"start_date": "sampledate1", "end_date":"sampledate1", "employee":{"id":1, "name":"Name1"} 
},{"start_date": "sampledate2", "end_date":"sampledate2", "employee":{"id":1, "name":"Name1"} 
},{"start_date": "sampledate1", "end_date":"sampledate1", "employee":{"id":1, "name":"Name2"} 
},{"start_date": "sampledate2", "end_date":"sampledate2", "employee":{"id":1, "name":"Name2"} 
}] 

我需要看到这个鉴于这样的

name1 
start_date - end_date 
name2 
start_date - end_date 

我尝试groupby的名字,但我date不工作?

+0

你到底想干什么?显示你指定的数据? – SaiUnique

回答

0

您正在使用角度。因此,将数据保存到$scope

$scope.data = [{"start_date": "sampledate1", "end_date":"sampledate1", "employee":{"id":1, "name":"Name1"} 
},{"start_date": "sampledate2", "end_date":"sampledate2", "employee":{"id":1, "name":"Name1"} 
},{"start_date": "sampledate1", "end_date":"sampledate1", "employee":{"id":1, "name":"Name2"} 
},{"start_date": "sampledate2", "end_date":"sampledate2", "employee":{"id":1, "name":"Name2"} 
}] 

鉴于:

<div ng-repeat='item in data | unique'> 
    {{item.employee.name}}<br> 
    {{item.start_date}} 
    {{item.end_date}} 
</div> 

我写了一个自定义过滤器。

.filter('unique', function() { 
    return function(collection) { 
     var output = [], 
      keys = []; 
     angular.forEach(collection, function(item) { 
      var key = item.employee.name; 
      if(keys.indexOf(key) === -1) { 
       keys.push(key); 
       output.push(item); 
      } 
     }); 
     return output; 
    }; 
}); 

ng-repeat使用过滤器使用| unique

所有最优秀的。

+0

请检查您的代码一旦它的$ sscope.data在js和datasof在html –

+0

@SaEChowdary,谢谢。 – SaiUnique

+0

但OP问他不想要dup,他正在尝试与......组合,但你的答案提供了Dup的.....你知道吗? –