Tengo una matriz a continuación, cada elemento de esta matriz consta de otra matriz.
var array = [ ['201', 'Tom', 'EES', 'California'], ['189', 'Charlie', 'EE', 'New Jersey'], ['245', 'Lisa', 'EEF', 'New Jersey'], ['743', 'Niall', 'EEC', 'Chicago'], ['653', 'Tim', 'EES', 'Miami'], ['333', 'Dev', 'EE', 'Washington'], ['333', 'Rhonda', 'EEC', 'Washington'] ] Quiero que se ordene según el tercer valor y en este orden [EE,EES,EEC,EEF] .
matriz debe ser:
[ ['189', 'Charlie', 'EE', 'New Jersey'], ['333', 'Dev', 'EE', 'Washington'], ['201', 'Tom', 'EES', 'California'], ['653', 'Tim', 'EES', 'Miami'], ['743', 'Niall', 'EEC', 'Chicago'], ['333', 'Rhonda', 'EEC', 'Washington'], ['245', 'Lisa', 'EEF', 'New Jersey'] ]Nota: - La matriz original tendrá n elementos, todo lo que quiero es que primero vengan los elementos EE, luego EES, EEC y luego EEF
Gracias por adelantado.
//this is my code! You can use array.sort(...) to do this var array=[['201','Tom','EES','California'],['189','Charlie','EE','New Jersey'], ['245','Lisa','EEF','New Jersey'],['743','Niall','EEC','Chicago'],['653','Tim','EES','Miami'], ['333','Dev','EE','Washington'],['333','Rhonda','EEC','Washington']]; let _result = array.sort( function(a, b){ if (a[2].toLowerCase() < b[2].toLowerCase()) return -1; if (a[2].toLowerCase() > b[2].toLowerCase()) return 1; return 0; } ) console.log(_result);