如何在现有数组中查找重复值并推送新数组angularjs中的所有重复值

如何在现有数组中查找重复值并推送新数组angularjs中的所有重复值,angularjs,arrays,Angularjs,Arrays,/我的json数据/ $scope.fund=[ { id:1, 基金名称:“HDFC中期机会-G”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:2, 基金名称:“HDFC中期机会-D”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:1, 基金名称:“HDFC中端”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:1, 基金名称:“HDFC中等”, 日期

/我的json数据/

$scope.fund=[ { id:1, 基金名称:“HDFC中期机会-G”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:2, 基金名称:“HDFC中期机会-D”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:1, 基金名称:“HDFC中端”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:1, 基金名称:“HDFC中等”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:3, 基金名称:“HDFC中期-G”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, ]

/我想这样输出/

$scope.newArray=[ { id:1, 基金名称:“HDFC中期机会-G”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:1, 基金名称:“HDFC中端”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' }, { id:1, 基金名称:“HDFC中等”, 日期:2016年5月12日, 金额单位:'11120', 价格:'200' },

]

你可以用老办法:循环数组,如果临时数组中不存在ID,就把它放在那里,否则就把它放在重复的数组中。

像这样试试

    var arr = [];
    var duparr = [];
    angular.forEach($scope.fund, function(value, key){
       if(!arr.hasOwnProperty(value['id'])){
           arr.push(value);
       }else{
           duparr.push(value);
       }
    });
    angular.forEach(arr, function(value, key){
           if(duparr[0]['id'] == value['id']){
                 duparr.push(value);
            }
    });

    $scope.newArray = duparr;
    console.log($scope.newArray);

我不明白你的答案。我的答案和阿姆鲁斯一样。谢谢你帮助我。