首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >使用angular js删除json数组中的重复值

使用angular js删除json数组中的重复值
EN

Stack Overflow用户
提问于 2016-06-13 18:30:13
回答 6查看 2.2K关注 0票数 2

我想从下面的json数组中删除重复项

$scope.array = [
    {"name":"aaa","key":"1"},
    {"name":"bbb","key":"2"},
    {"name":"aaa","key":"1"},
    {"name":"ccc","key":"3"},
    {"name":"bbb","key":"2"}
];

我试着跟踪代码,但它不起作用

var ids = {};

$scope.array.forEach(function (list) {
    ids[list.name] = (ids[list.name] || 0) + 1;
});

var finalResult = [];
$scope.array.forEach(function (list) {
    if (ids[list.name] === 1) finalResult.push(student);
});

console.log(finalResult);

这是预期的结果。

$scope.array = [
    {"name":"aaa","key":"1"},
    {"name":"bbb","key":"2"} ,
    {"name":"ccc","key":"3"} 
];
EN

回答 6

Stack Overflow用户

发布于 2016-06-13 18:33:40

您可以使用唯一过滤器。

<tr ng-repeat="arr in array | unique: 'key'" >
   <td> {{ arr.name }} , {{ arr.key }} </td>
</tr>
票数 0
EN

Stack Overflow用户

发布于 2016-06-13 18:39:29

您可以使用

$scope.array = = [{
    "testada": "ecom",
        "id": "27"
}, {
    "testada": "alorta",
        "id": "27"
}, {
    "testada": "france24",
        "id": "23"
}, {
    "testada": "seloger",
        "id": "23"
}];

var arr = [],
    collection = [];

$scope.array.forEach(json_all, function (index, value) {
    if ($.inArray(value.id, arr) == -1) {
        arr.push(value.id);
        collection.push(value);
    }
});

console.log(json_all);
console.log(collection);
console.log(arr);

票数 0
EN

Stack Overflow用户

发布于 2016-06-13 19:43:51

 $scope.array = [
        {"name":"aaa","key":"1"},
        {"name":"bbb","key":"2"},
        {"name":"aaa","key":"1"},
        {"name":"ccc","key":"3"},
        {"name":"bbb","key":"2"}
    ];

    var newArr = [];  //this will be new array with no duplicate value
    for (var i = 0; i < $scope.array.length; i++) {

        if(!ifContains($scope.array[i])){
            newArr.push($scope.array[i]);
        }
    }

    function ifContains(obj){
        debugger
        var flag = false;
        for(var i = 0; i < newArr.length; i++){
            if(newArr[i].name == obj.name && newArr[i].key == obj.key )
                return true;
            else
                flag = false;
        }
        return flag;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37787397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档