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 相关文章推荐
8个超棒的学习 jQuery 的网站 推荐收藏
Apr 02 Javascript
基于jquery实现的移入页面上空文本框时,让它变为焦点,移出清除焦点
Jul 26 Javascript
JQuery扩展插件Validate 3通过参数设置错误信息
Sep 05 Javascript
JavaScript 的继承
Oct 01 Javascript
jQuery当鼠标悬停时放大图片的效果实例
Jul 03 Javascript
用js的for循环获取radio选中的值
Oct 21 Javascript
javascript解析json数据的3种方式
May 08 Javascript
深入理解angularjs过滤器
May 25 Javascript
详解javascript中对数据格式化的思考
Jan 23 Javascript
完美实现js焦点轮播效果(一)
Mar 07 Javascript
React中常见的动画实现的几种方式
Jan 10 Javascript
vue打包通过image-webpack-loader插件对图片压缩优化操作
Nov 12 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
PHP4之COOKIE支持详解
2006/10/09 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
javascript或asp实现的判断身份证号码是否正确两种验证方法
2009/11/26 Javascript
js history对象简单实现返回和前进
2013/10/30 Javascript
浅谈JavaScript Math和Number对象
2015/01/26 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
Bootstrap实现响应式导航栏效果
2015/12/28 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
2017/02/16 Javascript
JavaScript实现左右下拉框动态增删示例
2017/03/09 Javascript
原生js二级联动效果
2017/06/20 Javascript
Angular.js项目中使用gulp实现自动化构建以及压缩打包详解
2017/07/19 Javascript
用JS实现根据当前时间随机生成流水号或者订单号
2018/05/31 Javascript
使用vue 国际化i18n 实现多实现语言切换功能
2018/10/11 Javascript
微信小程序页面上下滚动效果
2020/11/18 Javascript
layui之数据表格--与后台交互获取数据的方法
2019/09/29 Javascript
Vue组件模板的几种书写形式(3种)
2020/02/19 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
2020/04/08 Javascript
Python3搜索及替换文件中文本的方法
2015/05/22 Python
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
Python2与Python3的区别实例分析
2019/04/11 Python
让你Python到很爽的加速递归函数的装饰器
2019/05/26 Python
python add_argument()用法解析
2020/01/29 Python
在python中对于bool布尔值的取反操作
2020/12/11 Python
python利用文件时间批量重命名照片和视频
2021/02/09 Python
详解CSS3伸缩布局盒模型Flex布局
2018/08/20 HTML / CSS
HTML5在线预览PDF的示例代码
2017/09/14 HTML / CSS
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
后勤工作个人总结
2015/02/28 职场文书
《童年的发现》教学反思
2016/02/18 职场文书
详解vue中v-for的key唯一性
2021/05/15 Vue.js
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
python使用PySimpleGUI设置进度条及控件使用
2021/06/10 Python
德劲DE1107指针试高灵敏度全波段收音机机评
2022/04/05 无线电