Мне недавно понадобился какой-то индивидуальный ретранслятор, который группирует данные по их ключу, но не просто группирует их все вместе, поэтому я читаю несколько ссылок и вещей, ... и, наконец, я придумал копию группиЙ из этой статьи, в которой он, кажется, чтобы закончить его в лучшем случае, ... http://sobrepere.com/blog/2014/10/14/creating-groupby-filter-angularjs/ И тогда я настроен так, что стало так:Infdig in Custom groupBy
вещей моей группой по делать ... это:
группы данные Вместе, пока он не достигнет различий. , но дело в том, что, хотя он работает, он все еще генерирует infdig, я знаю, что это потому, что дайджест сделал вызов другого, но то, что я не знаю, - как решить его очень легко и понятно, так как я новый на JavaScript ...
app.filter('groupBy', function() {
var results = {};
return function (data, key) { //Data => My Objects Array - Key => Name Of Filtered Property
if (!(data && key)) return;
var result;
if (!this.$id) {
result = {};
} else {
var scopeId = this.$id;
if (!results[scopeId]) {
results[scopeId] = {};
this.$on("$destroy", function() {
delete results[scopeId];
});
}
result = results[scopeId];
}
for (var groupKey in result)
result[groupKey].splice(0, result[groupKey].length);
var grpKey = -1; //GroupKey
var lastUserId;
for (var i = 0; i < data.length; i++) {
if (!result[grpKey] || lastUserId && lastUserId != data[i][key]) // Ex.: result[data[0]["UserId"]]{ => return UserId
result[++ grpKey] = [];
result[grpKey].push(data[i]);
lastUserId = data[i][key];
}
var keys = Object.keys(result);
for (var k = 0; k < keys.length; k++) {
if (result[keys[k]].length === 0)
delete result[keys[k]];
}
return result;
};
});
вы можете сделать plunkr WITN код –
Привет пожалуйста найти этот адрес, его прекрасно работает ... http://plnkr.co/edit/8jB4wSRtKfVmEsTGZtfV?p=preview – Ahalyaa
в этом, что вам нужно сделать точно –