Reputation: 265
I need to sort an array containing arrays in ascending numerical order. The data structure looks like this
array = [[escalation],//integer
[name],
[email],
[blackberry]];
I try to sort the array using this function (sorting by escalation)
function sortfcn(a,b){
if(a[0]<b[0]){
return -1;
}
else if(a[0]>b[0]){
return 1;
}
else{
return 0;
}
}
But my output still looks incorrect...
0 0 10 12 14 16 18 20 20 8
Any advice on how to fix this?
Upvotes: 3
Views: 665
Reputation: 21902
From the sort output you provided, it looks like JavaScript is reading the array elements as strings. See if parseInt works:
function sortfcn(a,b){
if(parseInt(a[0])<parseInt(b[0])){
return -1;
}
else if(parseInt(a[0])>parseInt(b[0])){
return 1;
}
else{
return 0;
}
}
Upvotes: 1