在 AngularJS 中单击时删除重复项

阿里

我有这个。

var studentsList = [
    {"Id": "101", "name": "One"},
    {"Id": "101", "name": "One"},
    {"Id": "102", "name": "Two"},
    {"Id": "103", "name": "Three"},
    {"Id": "103", "name": "Three"},
    {"Id": "104", "name": "Four"},
    {"Id": "104", "name": "Four"}
];

我想切换,单击时从此对象中删除重复项。

<button ng-click="removeDuplicates = !removeDuplicates"></button>

我该怎么做,有什么想法吗?

预先感谢 :)

斯拉瓦·乌捷西诺夫

angular.module('app', [])
.controller('MyController', ['$scope', function($scope) {
    $scope.studentsList = [
    {"Id": "101", "name": "One"},
    {"Id": "101", "name": "One"},
    {"Id": "102", "name": "Two"},
    {"Id": "103", "name": "Three"},
    {"Id": "103", "name": "Three"},
    {"Id": "104", "name": "Four"},
    {"Id": "104", "name": "Four"}
];
}]).filter('dupfilter',function(){
  var cache = {};
  return function(array, dup){
    if(dup)
      return array;
      
    var key = JSON.stringify(array);
    if(cache[key])  
      return cache[key];
    
    var temp = [];
    for(var item of array){
      item.$$hashKey = undefined;
      var str = JSON.stringify(item);
      if(temp.indexOf(str) == -1)
        temp.push(str);
    }
    var result = [];
    for(var item of temp)
      result.push(JSON.parse(item));
      
    cache[key] = result;
      
    return result;
  }
})
<script src="//code.angularjs.org/snapshot/angular.min.js"></script>

<div ng-app='app' ng-controller="MyController">    
   <input type='button' value='{{(removeDuplicates ? "Allow" : "Remove") + " duplicates"}}' ng-click='removeDuplicates=!removeDuplicates'/>
   <ul>
     <li ng-repeat='item in studentsList | dupfilter: !removeDuplicates'>{{item | json}}</li>
   </ul>
</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AngularJs-在重复单击时添加/删除图标

来自分类Dev

删除数组 Javascript / AngularJS 中的重复项

来自分类Dev

单击时在angularJs中添加和删除类

来自分类Dev

单击时在angularJs中添加和删除类

来自分类Dev

重复重复项的angularjs

来自分类Dev

单击时删除元素-使用AngularJS指令

来自分类Dev

angularjs如何通过多次选择删除重复项

来自分类Dev

angularjs如何通过多次选择删除重复项

来自分类Dev

如何从angularjs的列表中删除重复的数据?

来自分类Dev

重复时从查询中删除重复项

来自分类Dev

在AngularJS应用中单击时禁用按钮

来自分类Dev

在AngularJS中获取单击时输入的位置

来自分类Dev

在AngularJS中获取单击时输入的位置

来自分类Dev

AngularJS如何在单击按钮时在页面中动态添加/删除指令

来自分类Dev

多个重复项中的多个单选按钮-AngularJS

来自分类Dev

如何在ngRepeat(AngularJS)中重复单击处理程序?

来自分类Dev

AngularJs中的重复StickyHeader

来自分类Dev

AngularJS中的动态重复

来自分类Dev

使用ngroute时从AngularJS网址中删除#

来自分类Dev

在AngularJS中添加和删除嵌套项到数组

来自分类Dev

angularjs | 通过单击输入中的glyphicon删除输入的值

来自分类Dev

angularjs | 通过单击输入中的glyphicon删除输入的值

来自分类Dev

如何在AngularJs中删除单击事件的元素焦点

来自分类Dev

删除对象中的重复键的AngularJS ng-repeat问题

来自分类Dev

单击按钮时的AngularJS动作

来自分类Dev

单击时显示AngularJS消息

来自分类Dev

单击列表时过滤AngularJs

来自分类Dev

AngularJS 1.2.14 ng重复项的动画

来自分类Dev

AngularJs数组不添加重复项

Related 相关文章

热门标签

归档