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 相关文章推荐
javascript创建createXmlHttpRequest对象示例代码
Feb 10 Javascript
Jquery的each里用return true或false代替break或continue
May 21 Javascript
jQuery.position()方法获取不到值的安全替换方法
Mar 13 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
Mar 09 Javascript
总结jQuery插件开发中的一些要点
May 16 Javascript
利用AngularJs实现京东首页轮播图效果
Sep 08 Javascript
javascript简写常用的12个技巧(可以大大减少你的js代码量)
Mar 28 Javascript
使用D3.js+Vue实现一个简单的柱形图
Aug 05 Javascript
创建echart多个联动的示例代码
Nov 23 Javascript
小程序日历控件使用方法详解
Dec 29 Javascript
jQuery实现的网站banner图片无缝轮播效果完整实例
Jan 28 jQuery
微信小程序转发事件实现解析
Oct 22 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框架Symfony2经典入门教程
2014/07/08 PHP
Yii入门教程之目录结构、入口文件及路由设置
2014/11/25 PHP
基于ThinkPHP实现的日历功能实例详解
2017/04/15 PHP
php+jQuery ajax实现的实时刷新显示数据功能示例
2019/09/12 PHP
JavaScript 对象成员的可见性说明
2009/10/16 Javascript
js取滚动条的尺寸的函数代码
2011/11/30 Javascript
JS正则中的RegExp对象对象
2012/11/07 Javascript
js新闻滚动 js如何实现新闻滚动效果
2013/01/07 Javascript
JS获取计算机mac地址以及IP的实现方法
2014/01/08 Javascript
jQuery操作表格(table)的常用方法、技巧汇总
2014/04/12 Javascript
Jquery Ajax方法传值到action的方法
2014/05/11 Javascript
简单的jquery左侧导航栏和页面选中效果
2014/08/21 Javascript
JavaScript数据类型详解
2015/04/01 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
javascript实现粘贴qq截图功能(clipboardData)
2016/05/29 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
jQuery实现边框动态效果的实例代码
2016/09/23 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
Angular实现可删除并计算总金额的购物车功能示例
2017/12/26 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
vue获取当前点击的元素并传值的实例
2018/03/09 Javascript
JavaScript控制浏览器全屏显示简单示例
2018/07/05 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
解决React在安装antd之后出现的Can't resolve './locale'问题(推荐)
2020/05/03 Javascript
人脸识别经典算法一 特征脸方法(Eigenface)
2018/03/13 Python
python 列表,数组,矩阵两两转换tolist()的实例
2018/04/04 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
python 指定源路径来解决import问题的操作
2021/03/04 Python
你的自行车健身专家:FaFit24
2016/11/16 全球购物
关于迟到的检讨书
2014/01/26 职场文书
班级课外活动总结
2014/07/09 职场文书
商务考察邀请函模板
2015/02/02 职场文书
采购部年度工作总结
2015/08/13 职场文书
刚学完怎么用Python实现定时任务,转头就跑去撩妹!
2021/06/05 Python
PHP设计模式(观察者模式)
2021/07/07 PHP
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python