I have a created 4 dimensional array in JavaScript. One column contains String values and the other three columns contain float values. I filled the first 3 columns from a JSON response and the fourth column contains the magnitude of the values col2 and col3. I need to sort the entire array based on the values in col4. Following code shows how I created the array. Can someone please tell me how to sort this array based on col4?
var labels = responseJSON.labels;
var knowledge = responseJSON.knowledge;
var interest = responseJSON.interest;
var label_know_int_array = new Array(3);
//array item 0 contains all the labels
label_know_int_array[0] = new Array(200);
//array item 1 contains knowledge values
label_know_int_array[1] = new Array(200);
//array item 2 contains all the interest values
label_know_int_array[2] = new Array(200);
//array item 3 contains the magnitude of knowledge and interest
label_know_int_array[3] = new Array(200);
for(var i=0;i<labels.length;i++)
{
label_know_int_array[0][i] = labels[i];
var knowVal = knowledge[i];
var intVal = interest[i];
label_know_int_array[1][i] = knowVal;
label_know_int_array[2][i] = intVal ;
var squareSum = (knowVal*knowVal) + (intVal*intVal);
var distance = Math.sqrt(squareSum);
label_know_int_array[3][i] = distance ;
}
a[][]. 4D looks like:a[][][][]. You have to switchlabel_know_int_array[3]tolabel_know_int_array[0]to sort bydistance.200x4array instead of4x200like in Nemoy's answer. I.e. group by rows, not columns.