-2

Here are my objects:

var user1 = new Object();
user1.username = "user1"; user1.sex="m"; user1.age=20;

var user2 = new Object();
user2.username = "user1"; user2.sex="f";user2.age=30;

var user3 = new Object();
user3.username = "user3"; user3.sex="f";user3.age=22;

var users = {"john":user1, "jerry": user2, "marry":user3};

How can I sort users by age ?

yarek
  • 11,278
  • 30
  • 120
  • 219

1 Answers1

2

First, consider storing users in an array, not an object

var users = [user1, user2, user3];

then you need a sort function

//a and be will be passed in, you need to tell it which one is greater
function sortByAge(a,b) {

  if (a.age > b.age) return 1;
  if (a.age < b.age) return -1;
  /* else */ return 0;

  //how I had it previously that people commented on
  //return a.age > b.age;  
}

then you can use that sort wherever you need

users.sort(sortByAge);
gen_Eric
  • 223,194
  • 41
  • 299
  • 337
Charlie Wynn
  • 921
  • 1
  • 8
  • 22