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

@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
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions