本文實例講述了AngularJS使用Filter自定義過濾器控制ng-repeat去除重復功能。分享給大家供大家參考,具體如下:
<!DOCTYPE html><html><head><meta charset="utf-8"><title>www.49028c.com ng-repeat去除重復</title><script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script></head><body><div ng-app="myApp" ng-controller="myCtrl"> <p ng-repeat="x in items | unique:'id'"> {{x.id}}---{{x.name}} </p></div><script> //AngularJs 自定義過濾器 //1.使用過濾器,去除重復 angular.module('common', []).filter('unique', function () { return function (collection, keyname) { console.info(collection); console.info(keyname); var output = [], keys = []; angular.forEach(collection, function (item) { var key = item[keyname]; if (keys.indexOf(key) === -1) { keys.push(key); output.push(item); } }); return output; } }); var app = angular.module('myApp', ['common']); app.controller('myCtrl', function ($scope) { //$scope.items = [1, 2, 3,2]; //當前unique 的過濾只針對,對象數組過濾 $scope.items = [ { id: 1, name: 'zhangsan' }, { id: 2, name: 'lisi' }, { id: 1, name: 'zhangsan' }, ]; });</script></body></html>
運行結果:
PS:這里再為大家提供幾款相關工具供大家參考使用:
在線去除重復項工具:
http://tools.VeVB.COm/code/quchong
在線文本去重復工具:
http://tools.VeVB.COm/aideddesign/txt_quchong
更多關于AngularJS相關內容感興趣的讀者可查看本站專題:《AngularJS指令操作技巧總結》、《AngularJS入門與進階教程》及《AngularJS MVC架構總結》
希望本文所述對大家AngularJS程序設計有所幫助。
新聞熱點
疑難解答