Another way you can do it is to have the collection in an object, and use the primary identifier as key. This identifier is usually a unique identifier for that entity, like a user id.
This is way faster than iterating over an array in search for a match. As far as I remember, accessing via a key only takes one operation, O(1) while iterating through an array would depend on the length of the array. Worst case is that your match is at the tip of the array, thus O(n).
var data = {
"1111-1111-1111" : {
"Email": "test@test.com"
}
};
//get by key
var key = "1111-1111-1111";
var oneOneOne = data[key];
oneOneOne.Email //test@test.com
This is only good when you try to get the set by the key. Otherwise, you'd have to resort to other arrangements for other retrievals.
As for sorting though, objects don't guarantee order, though browsers do sort them somehow. As far as I know, iterating through properties of an object in Firefox and Chrome yield different orders in the way they are arranged.