sorting - Javascript object array sort returns apparantly random results -
i trying simple sort working on object array seems returning random results. please have @ plunk: (in ff or chrome)
http://plnkr.co/edit/tqoyujv4nzvc4hakvrkz?p=preview
var data; var asc; function init(){ data = [{username:"leonhaas"},{username:"0johnson"},{username:"leonlang"},{username:"0lechner"},{username:"0koller"},{username:"leonwinkler"},{username:"0schmidt"},{username:"0mueller"},{username:"0schmid"},{username:"lillyfuchs"},{username:"alexandragruber"},{username:"alexanderlechner"},{username:"alexanderpichler"},{username:"alexandraeder"},{username:"lillyreiter"},{username:"alibauer"},{username:"alexandrahall"},{username:"alexandrajohnson"},{username:"alexandrataylor"},{username:"alexandrawilliams"},{username:"lilywinkler"},{username:"alinabauer"},{username:"aliceegger"},{username:"alicesteiner"},{username:"alicewallner"},{username:"aliegger"},{username:"alifuchs"},{username:"linajohnson"},{username:"amarwhite"},{username:"alinaleitner"},{username:"alinaschmidt"},{username:"alinawood"},{username:"alischneider"}]; outputdata(data); asc = true; } function sortit() { = data.username; b = data.username; if(asc){ data.sort(function(a,b) { return 1; }); } else { data.sort(function(a,b) { return -1; }); } outputdata(data); } function outputdata(data){ var output = ""; data.foreach(function (item){ output += item.username +"<br>"; }); var x=document.getelementbyid("demo"); x.innerhtml=output; }
in sorting function have compare data objects' usernames:
function sortit() { if(asc){ data.sort(function(a,b) { return a.username.localecompare(b.username); }); } else { data.sort(function(a,b) { return b.username.localecompare(a.username); }); } outputdata(data); }
Comments
Post a Comment