Ich benutze AngularJs und festgestellt, ein Problem beim Anordnen von Eigenschaften eines Hash-Objekts in einer Vorlage.
Mein Ziel ist es, wie:AngularJs sort Objekt in ngRepeat
function TestCtrl($scope){
$scope.week = {'MONDAY': ['manuel'], 'TUESDAY': [], 'WEDNESDAY': ['valerio'], 'THURSDAY': ['manuel', 'valerio'], 'FRIDAY': []}
}
Jetzt, wenn ich versuche, diese Werte in meiner Vorlage zu drucken:
<div ng-repeat="(day, names) in week">
<span>{{day}}</span>
<ul> <li ng-repeat="name in names">{{name}}</li> </ul>
</div>
Die Reihenfolge der gedruckten Tagen anders: FRIDAY MONDAY THURSDAY TUESDAY WEDNESDAY
Ich habe versucht, um den Filter anzuwenden orderBy
, aber ich denke, es funktioniert nicht mit Objekten, sondern nur mit Arrays ...
Wie kann ich es bestellen?
Ich glaube nicht, dass es mit angularjs verwandt ist. Die Objektschlüssel werden standardmäßig alphabetisch sortiert. – AlwaysALearner
@CodeHater, es ist AngularJS verwandt und Nein, Objektschlüssel werden in JavaScript-Engines in keiner Weise sortiert. Das einzige, was in der offiziellen Spezifikation beschrieben wird, ist, dass die Reihenfolge nicht garantiert werden kann, aber es ist ein De-facto-Standard, dass alle Browser die Reihenfolge der String-Objektschlüssel beibehalten und sie nicht sortieren. –