Skip to content
This repository was archived by the owner on Apr 12, 2024. It is now read-only.
This repository was archived by the owner on Apr 12, 2024. It is now read-only.

AngularJS 1.3.0 ngRepeat Prints Objects from Array In Reverse  #9831

Closed
@alex-19841

Description

@alex-19841

I upgraded AngularJS from 1.2 version to 1.3.0 and noticed that ngRepeat started to print object from array in reverse. Filter example:

return function (people) {
       if (!angular.isArray(people))
           return people;

    var results = [];

    var members = [];
    var spouses = [];

    var everyoneElseUnOrdered = [];
    var everyoneElseOrderedByBirthDate = [];

    angular.forEach(people, function (person) {
        var relationshipType = $filter('relationship')(person.Relationship, person.Gender);

        switch (relationshipType) {
            case 'Member':
                members.push(person);
                break;
            case 'Husband', 'Wife':
                spouses.push(person);
                break;
            default:
                everyoneElseUnOrdered.push(person);
        }
    });

    everyoneElseOrderedByBirthDate = $filter('orderBy')(everyoneElseUnOrdered, function (person) {
        var date = new Date(person.BirthDate);
        return date;
    });

    angular.forEach(members, function (member) {
        results.push(member);
    });

    angular.forEach(spouses, function (spouse) {
        results.push(spouse);
    });

    angular.forEach(everyoneElseOrderedByBirthDate, function (person) {
        results.push(person);
    });

    return results;
};

When filter applied to ngRepeat "Member" will be at the very bottom instead of top.
Example:
child
child
wife
member

But with 1.2.* ngRepeat prints in order

member
wife
child
child

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions