2017-04-17 88 views
-1
angular.forEach(game.market, function (market) { 
    if (availableMarketGroups[market.group_id]) { 
     availableMarketGroups[market.group_id].count++; 
    } 
}); 

我需要得到:如何忽略控制器重复值

如果(availableMarketGroups [market.group_id] & &并且这个值是不是在这的foreach代替)比count ++

从我得到随机数, 例如我得到a,b,b,b,c,d,d - >长度是7 但我想忽略重复的id并从a,b,b,b,c, d,d - > 4

availableMarketGroups [market.group_id]只是身份证号码,如果这个数字有价值,那么我增加计数proporty,但有时这个计数是重复的,我不能得到写数,我不需要delate或删除重复的值,我需要忽略它,并得到正确的计数

+1

修改你的岗位上做出有意义 – Aravind

+0

@Aravind项目是如此之大,其这一小部分,我需要忽略替换值,如果语句 –

+0

替换值从哪里?通过忽略你想要删除的值或你想要达到什么目的? – Aravind

回答

0

如果我理解正确,你希望统计独特的ID?您可以使用像地图这样的js对象来存储您已经看到的id。一般的算法是:

var map = {}; 
 
var count = 0; 
 
['a' , 'b' , 'b' , 'b' , 'c' , 'd' , 'd'].forEach(function(id){ 
 
    if(!map[id]){ 
 
    map[id] = true; 
 
    count++; 
 
    } 
 
}); 
 

 
console.log(count);

你的情况可能看起来更象这样:

var map = {}; 
game.market.forEach(function(market){ 
    if(!map[market.group_id] && availableMarketGroups[market.group_id]){ 
    map[market.group_id] = true; 
    availableMarketGroups[market.group_id].count++; 
    } 
});