AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例


Posted in Javascript onApril 21, 2018

本文实例讲述了AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能。分享给大家供大家参考,具体如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>3water.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>

运行结果:

AngularJS使用Filter自定义过滤器控制ng-repeat去除重复功能示例

Javascript 相关文章推荐
用jquery来定位
Feb 20 Javascript
jquery三个关闭弹出层的小示例
Nov 05 Javascript
用js一次改变多个input的readonly属性值的方法
Jun 11 Javascript
JavaScript定时器和优化的取消定时器方法
Jul 03 Javascript
使用jQuery给input标签设置默认值
Jun 20 Javascript
AngularJS基础 ng-mouseenter 指令示例代码
Aug 02 Javascript
JS实现图片旋转动画效果封装与使用示例
Jul 09 Javascript
JavaScript中BOM对象原理与用法分析
Jul 09 Javascript
Vue 开发必须知道的36个技巧(小结)
Oct 09 Javascript
countup.js实现数字动态叠加效果
Oct 17 Javascript
浅谈Vue组件单元测试究竟测试什么
Feb 05 Javascript
在vscode 中设置 vue模板内容的方法
Sep 02 Javascript
JS实现字符串去重及数组去重的方法示例
Apr 21 #Javascript
AngularJs用户输入动态模板XSS攻击示例详解
Apr 21 #Javascript
vue源码解析之事件机制原理
Apr 21 #Javascript
JavaScript获取用户所在城市及地理位置
Apr 21 #Javascript
在vue-cli项目中使用bootstrap的方法示例
Apr 21 #Javascript
详解webpack模块化管理和打包工具
Apr 21 #Javascript
Node.Js生成比特币地址代码解析
Apr 21 #Javascript
You might like
php 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
phpmailer发送gmail邮件实例详解
2013/06/24 PHP
强制PHP命令行脚本单进程运行的方法
2014/04/15 PHP
ThinkPHP自动完成中使用函数与回调方法实例
2014/11/29 PHP
php 5.4 全新的代码复用Trait详解
2017/01/05 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
CSS和Javascript简单复习资料
2010/06/29 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
Javascript iframe交互并兼容各种浏览器的解决方法
2016/07/12 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
微信小程序实现图片上传放大预览删除代码
2020/06/28 Javascript
tsconfig.json配置详解
2019/05/17 Javascript
js实现数字跳动到指定数字
2020/08/25 Javascript
[20:39]DOTA2-DPC中国联赛 正赛开幕式 1月18日
2021/03/11 DOTA
[01:23:24]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Elephant BO3 第三场 2月7日
2021/03/11 DOTA
Python中暂存上传图片的方法
2015/02/18 Python
对python 自定义协议的方法详解
2019/02/13 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
多版本python的pip 升级后, pip2 pip3 与python版本失配解决方法
2019/09/11 Python
如何在python开发工具PyCharm中搭建QtPy环境(教程详解)
2020/02/04 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
Python中有几个关键字
2020/06/04 Python
python else语句在循环中的运用详解
2020/07/06 Python
Python调用C/C++的方法解析
2020/08/05 Python
python使用建议与技巧分享(一)
2020/08/17 Python
2014年党员自我评价材料
2014/09/22 职场文书
党员教师自我剖析材料
2014/09/29 职场文书
工会积极分子个人总结
2015/03/03 职场文书
安全生产奖惩制度
2015/08/06 职场文书
2015年美容师个人工作总结
2015/10/14 职场文书
初中班主任心得体会
2016/01/07 职场文书
2019如何书写演讲稿?
2019/07/01 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
Python3 类型标注支持操作
2021/06/02 Python