从数组指令中删除重复项
Remove duplicates from array directive
我有一个div 来鞋的名字。我想删除数组中的重复项。我已经用filter
做到了这一点,但我想知道我们如何扩展它来构建一个directive
。
<div ng-controller="MainController">
<ul>
<li ng-repeat="name in names | unique">
{{name}}
</li>
</ul>
</div>
下面是过滤器代码。
angular.module('app')
.controller('MainController', ['$scope', function($scope){
$scope.names = ['a','b','c','d','a','c'];
}])
.filter('unique', function(){
return function(names){
var obj = {};
names.forEach(function(name){
obj[name] = null;
})
return Object.keys(obj);
}
})
.directive('unique', function(){
return {
link: function(scope, elem, attr){
}
}
})
如何构建一个从数组中删除重复项的directive
。
这是我的写法:
angular.module('app')
.controller('MainController', ['$scope', function($scope){
$scope.names = ['a','b','c','d','a','c'];
}])
.directive('uniqueArray', function(){
return {
restrict: 'E',
scope: {
arr: '='
}
template: '<ul><li ng-repeat="item in unique_arr">{{item}}</li></ul>',
controller: function($scope){
function get_unique(items){
var obj = {};
angular.forEach(items, function(item){
obj[item] = null;
});
return Object.keys(obj);
}
$scope.unique_arr = get_unique($scope.arr);
}
}
})
在 HTML 中:
<unique-array arr="names"></unique-array>
我认为指令是不必要的,就好像它基本上充当包装器
相关文章:
- Mongoose-在更新中删除数组元素
- 在特定索引处剥离/删除数组中的值
- Framework7:使用swipeout删除数组中的项
- Javascript删除数组中某个位置之后的项
- 通过选中和取消选中复选框来添加和删除数组中的值
- 编写删除数组并添加到列表的函数
- Javascript - 删除数组中的重复值
- 在 Kineticjs 中删除数组中的组
- 如何根据数组内容添加/删除数组中的元素
- 用于删除数组中的零的Javascript函数代码
- Javascript-仅使用pop()方法删除数组中的负值
- 删除数组元素并将它们添加回原来的位置
- 如果一个键匹配,如何删除数组元素
- 无法使用拼接删除数组中的元素
- 如何从ko.computed中删除数组项
- 删除数组中的重复项,为什么此代码不起作用
- 使用另一个数组按索引删除数组中的对象
- 在 jquery 中,如何通过索引[“键”] 或值删除数组元素
- 使用 Lodash 删除数组中的元素
- 按索引删除数组元素