angular.forEach(game.market, function (market) {
if (availableMarketGroups[market.group_id]) {
availableMarketGroups[market.group_id].count++;
}
});
我需要得到:
if(availableMarketGroups [market.group_id]&&和此值未在此foreach中替换)而不是count ++
从swarm我得到随机数, 例如,我得到a,b,b,b,c,d,d - >长度是7 但我想忽略重复的id并从a,b,b,b,c,d,d - >获得; 4
availableMarketGroups [market.group_id]只是id号,如果这个号码有值,那么我加上计数比例,但有时这个计数是重复的,我不能得到写入计数,我不需要减少或删除重复的值,我需要忽略它并得到正确的计数
答案 0 :(得分: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++;
}
});