FilterEckig: ng-repeat umgekehrter Reihenfolge des Objekts
app.filter('orderObjectBy', function() {
return function(items, field, reverse) {
var filtered = [];
angular.forEach(items, function(item) {
filtered.push(item);
});
filtered.sort(function (a, b) {
return (a[field] > b[field] ? 1 : -1);
});
if(reverse) filtered.reverse();
return filtered;
};
});
Daten JSON:
{
"results": {
"100": {
"numbers": {
"1": {
"key": "value"
},
"2": {
"key": "value"
},
"3": {
"key": "value"
}
}
},
"200": {
"numbers": {
"1": {
"key": "value"
},
"2": {
"key": "value"
},
"3": {
"key": "value"
}
}
}
}
}
Render:
<div ng-repeat="(k,v) in results">
<span ng-repeat="(k1,v1) in v | orderObjectBy:k1:true">{{k1}}</span>
</div>
Die orderObjectBy:k1:true
nicht den "Schlüssel" zurückkehrt, aber eine Anordnung der Schlüssel, z 0 1 2
. Wie kann ich das beheben und die Bestellung stornieren?
Sie können den Umkehrfilter direkt in Winkel verwenden. –
@ShankarShastri siehe Updates in der Frage. Danke im Voraus. :) – Steve