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 相关文章推荐
append和appendTo的区别以及appendChild用法
Dec 24 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
Sep 25 Javascript
JS实现控制表格只显示行边框或者只显示列边框的方法
Mar 31 Javascript
使用Object.defineProperty实现简单的js双向绑定
Apr 15 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
无循环 JavaScript(map、reduce、filter和find)
Apr 08 Javascript
Ionic3 UI组件之autocomplete详解
Jun 08 Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
浅谈Vue数据响应
Nov 05 Javascript
vue获取data数据改变前后的值方法
Nov 07 Javascript
javascript实现的图片预览和上传功能示例【兼容IE 9】
May 01 Javascript
浅谈Vue 函数式组件的使用技巧
Jun 16 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/08/08 PHP
PHP笔记之:日期函数的使用介绍
2013/04/24 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
Yii2选项卡的简单使用
2017/05/26 PHP
PHP实现RSA签名生成订单功能【支付宝示例】
2017/06/06 PHP
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
jQuery插件实现文字无缝向上滚动效果代码
2016/02/25 Javascript
深入理解Javascript中的自执行匿名函数
2016/06/03 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
ES6概念 Symbol toString()方法
2016/12/25 Javascript
jQuery、layer实现弹出层的打开、关闭功能
2017/06/28 jQuery
Angular 2.0+ 的数据绑定的实现示例
2017/08/09 Javascript
VueJs使用Amaze ui调整列表和内容页面
2017/11/30 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
JS使用Chrome浏览器实现调试线上代码
2020/07/23 Javascript
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
深入解析Python中的WSGI接口
2015/05/11 Python
python递归删除指定目录及其所有内容的方法
2017/01/13 Python
详解python校验SQL脚本命名规则
2019/03/22 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
在Pycharm中调试Django项目程序的操作方法
2019/07/17 Python
TensorFlow2.1.0安装过程中setuptools、wrapt等相关错误指南
2020/04/08 Python
jupyter notebook 多行输出实例
2020/04/09 Python
使用HTML5 Canvas绘制圆角矩形及相关的一些应用举例
2016/03/22 HTML / CSS
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
英国二手iPhone、音乐、电影和游戏商店:musicMagpie
2018/10/26 全球购物
自我鉴定200字
2013/10/28 职场文书
硕士研究生自我鉴定范文
2013/12/27 职场文书
幼儿园中班教学反思
2014/02/10 职场文书
县长群众路线对照检查材料思想汇报
2014/10/02 职场文书
2019安全宣传标语大全
2019/08/14 职场文书
JS 4个超级实用的小技巧 提升开发效率
2021/10/05 Javascript
Win10多屏显示如何设置?Win10电脑多屏显示设置操作方法
2022/07/07 数码科技