Sorting Multidimensional Array with Javascript: Integers
Posted
by
tkm256
on Stack Overflow
See other posts from Stack Overflow
or by tkm256
Published on 2011-02-08T21:54:46Z
Indexed on
2011/02/08
23:25 UTC
Read the original article
Hit count: 186
I have a 2D array called "results." Each "row" array in results contains both string and integer values. I'm using this script to sort the array by any "column" on an onclick event:
function sort_array(results, column, direction) {
var sorted_results = results.sort(value);
function value(a,b) {
a = a[column];
b = b[column];
return a == b ? 0 : (a < b ? -1*direction : 1*direction)
}
}
This works fine for the columns with strings. But it treats the columns of integers like strings instead of numbers. For example, the values 15, 1000, 200, 97 would be sorted 1000, 15, 200, 97 if "ascending" or 97, 200, 15, 1000 "descending."
I've double-checked the typeof the integer values, and the script knows they're numbers. How can I get it to treat them as such?
© Stack Overflow or respective owner