栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

从Angular JS ng-options / ng-repeat中删除重复项

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

从Angular JS ng-options / ng-repeat中删除重复项

要删除重复项,可以使用AngularUI 的 唯一
过滤器(源代码在这里:AngularUI唯一过滤器),然后直接在ng-options(或ng-
repeat)中使用它。

在这里查看更多: 独特的东西

json结构中也存在语法错误。

工作守则

HTML

<div ng-app="app">    <div ng-controller="MainController">        <select id="typeselect"  ng-options="accnts.type for accnts in jsonmarkers | unique:'type'" ng-model="accnt" ng-change="changeaccnt(accnt.type)" multiple></select>    </div></div>

脚本

    var app = angular.module("app", []);app.controller("MainController", function ($scope) {    $scope.jsonmarkers = [{        "name": "Jeff", "type": "Organisation + Training Entity", "userID": "1"    }, {        "name": "Fred", "type": "Organisation + Training Entity", "userID": "2"    }];});app.filter('unique', function () {    return function (items, filterOn) {        if (filterOn === false) { return items;        }        if ((filterOn || angular.isUndefined(filterOn)) && angular.isArray(items)) { var hashCheck = {}, newItems = []; var extractValueToCompare = function (item) {     if (angular.isObject(item) && angular.isString(filterOn)) {         return item[filterOn];     } else {         return item;     } }; angular.forEach(items, function (item) {     var valueToCheck, isDuplicate = false;     for (var i = 0; i < newItems.length; i++) {         if (angular.equals(extractValueToCompare(newItems[i]), extractValueToCompare(item))) {  isDuplicate = true;  break;         }     }     if (!isDuplicate) {         newItems.push(item);     } }); items = newItems;        }        return items;    };});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/633246.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号