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 相关文章推荐
IE8 兼容性问题(属性名区分大小写)
Jun 04 Javascript
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
使用jquery为table动态添加行的实现代码
Mar 30 Javascript
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
javascript创建和存储cookie示例
Jan 07 Javascript
js调试系列 初识控制台
Jun 18 Javascript
javascript结合fileReader 实现上传图片
Jan 30 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
Nov 26 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
Jun 08 Javascript
javascript弹出带文字信息的提示框效果
Jul 19 Javascript
jQuery扩展方法实现Form表单与Json互相转换的实例代码
Sep 05 jQuery
JavaScript实现雪花飘落效果
Dec 27 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中MVC模式的模板引擎开发经验分享
2011/03/23 PHP
php 字符串替换的方法
2012/01/10 PHP
PDO::commit讲解
2019/01/27 PHP
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
基于JavaScript 数据类型之Boolean类型分析介绍
2013/04/19 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
一个奇葩的最短的 IE 版本判断JS脚本
2014/05/28 Javascript
如何改进javascript代码的性能
2015/04/02 Javascript
JavaScript动态设置div的样式的方法
2015/12/26 Javascript
郁闷!ionic中获取ng-model绑定的值为undefined如何解决
2016/08/27 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
使用webpack构建应用的方法步骤
2019/03/04 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
微信小程序中weui用法解析
2019/10/21 Javascript
浅谈python内置变量-reversed(seq)
2017/06/21 Python
python 处理微信对账单数据的实例代码
2019/07/19 Python
Python实现初始化不同的变量类型为空值
2020/06/02 Python
解决Keras 自定义层时遇到版本的问题
2020/06/16 Python
浅析python实现动态规划背包问题
2020/12/31 Python
selenium+headless chrome爬虫的实现示例
2021/01/08 Python
CSS3提交意见输入框样式代码
2014/10/30 HTML / CSS
MADE法国:提供原创设计师家具
2018/09/18 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
大学生自我评价怎样写好
2013/10/23 职场文书
四好少年事迹材料
2014/01/12 职场文书
互联网创业计划书的书写步骤
2014/01/28 职场文书
秋天的图画教学反思
2014/05/01 职场文书
党建工作经验交流材料
2014/05/25 职场文书
竞聘自述材料
2014/08/25 职场文书
个人总结与自我评价
2014/09/18 职场文书
单位租房协议书样本
2014/10/30 职场文书
最美乡村教师观后感
2015/06/11 职场文书
欧也妮葛朗台读书笔记
2015/06/30 职场文书
MongoDB balancer的使用详解
2021/04/30 MongoDB
Go语言应该什么情况使用指针
2021/07/25 Golang
MySQL事务操作的四大特性以及并发事务问题
2022/04/12 MySQL