ES6: Sort multidimensional arrays.

by Rodwyn Moreno

JavaScript

const data = [[1,4,7], [2,5,8], [3,6,9]];

console.log(sortMultidimensional(data));

function reverseArray() {
	
}

function sortMultidimensional(data) {
	let flat = [];
  
  data.map(i => flat = flat.concat(i));
  
  bubbleSort(flat);
  
  for (let i = data.length - 1; i>=0; i--) { 
    data[i] = flat.slice(-data[i].length);
    flat.length -= data[i].length;
  }

  return data;
}

function bubbleSort(data) {
	data.map(d1 => data.map((d2, i) => {
  	if (data[i] > data[i + 1]) {
    	data[i] = data[i + 1];
      data[i + 1] = d2;
    }
  }));
  
  return data;
}

//console.log(bubbleSort([10, 2, 7, 4, 6, 1]));
//console.log(bubbleSort([1, 4, 7, 4, 6, 1]));