Używam AngularJs i znalazłem problem z porządkowaniem właściwości obiektu haszującego w szablonie.
Moim celem jest jak:Obiekt sortowania AngularJs w ngRepeat
function TestCtrl($scope){
$scope.week = {'MONDAY': ['manuel'], 'TUESDAY': [], 'WEDNESDAY': ['valerio'], 'THURSDAY': ['manuel', 'valerio'], 'FRIDAY': []}
}
Teraz, gdy próbuję wydrukować te wartości w moim szablonu:
<div ng-repeat="(day, names) in week">
<span>{{day}}</span>
<ul> <li ng-repeat="name in names">{{name}}</li> </ul>
</div>
Kolejność dni drukowanych jest inna: FRIDAY MONDAY THURSDAY TUESDAY WEDNESDAY
próbowałem zastosować filtr orderBy
, ale myślę, że nie działa z obiektami, ale tylko z tablicami ...
Jak mogę to zamówić?
Nie sądzę, że jest to związane z angularjs. Klawisze obiektów są domyślnie sortowane alfabetycznie. – AlwaysALearner
@CodeHater, jest powiązany z AngularJS i nie, klucze obiektowe nie będą sortowane w żaden sposób w silnikach javascript. Jedyną rzeczą opisaną w oficjalnej specyfikacji jest to, że zamówienie nie może być zagwarantowane, ale jest to de facto standardem, że wszystkie przeglądarki utrzymują porządek kluczy obiektów ciągowych i nie sortują ich. –