from datetime import time
t = time(00, 00, 00, tzinfo=dt.tzname())
tmstmp = dt.isoformat()+'+'+t.strftime("%M:%S %z")
market.group_id - 数字,未排序,有时是重复数据 availableMarketGroups [market.group_id] .count - 其长度
让我们看一下图片了解更多信息。
市场群体的数量并不代表真实的市场数量。
availableMarketGroups [market.group_id] .count show - 15,但实际上它应该是5(5组),因为market.group_id是重复的。
如何忽略if语句中重复的market.group_id值?
答案 0 :(得分:0)
var availableMarketGroups = {};
var groupsProcessed = [];
angular.forEach(availableMarketGroups, function(marketGroup) {
if (groupsProcessed.indexOf(marketGroup.group_id) < 0) {
groupsProcessed.push(marketGroup.group_id);
availableMarketGroups[market.group_id].count++;
}
});
答案 1 :(得分:0)
计算唯一数组元素的答案是使函数如下所示。
var counts = {};
for (var i = 0; i < arr.length; i++) {
counts[arr[i]] = 1 + (counts[arr[i]] || 0);
}
它将返回数组中元素的唯一计数。
答案 2 :(得分:0)
没有您的数据很难说。一般来说,您应该能够reduce
将其设置为唯一的group_id
套:
const uniqueGroups = markets.reduce(function(set, market) {
if (!set.has(market.group_id)) {
set.add(market.group_id);
}
return set;
}, new Set());
console.log('Unique group count: ', uniqueGroups.size);
答案 3 :(得分:0)
您可以使用下划线:
var newObj = _.uniq(market, function(p){ return p.group_id; });