JSFiddle - React, Tailwind, and code Playground
array sorting functions
by abubelinha
HTML
<div id="result" style="border:1px solid red;">
</div>
JavaScript
var arrdata = [
["id","francaise","español","xenero","notas","exemplos","tipo","nom","adv","verb","prep","conx","páxina","uso","299"],
[262,"accueillir","recibir, acoger","","","","verbo","","","","","","","","accueillir"],
[192,"affixe","afijo (prefijo, sufijo)","","","","nome","","","","","","","","affixe"],
[128,"agacer","irritar, molestar","","","","verbo","","","","","","","","agacer"],
[19,"ailleurs","otro lugar","","un autre endroit / un endroit different","","nome","","","","","","F19.p.70","position","ailleurs"],
[19.1,"ailleurs","en otro lugar","","","vivre ailleurs","adv.","","","","","","","","ailleurs"],
[207,"ainsi que","así como, junto con","","","","conj. ","","","","","","","","ainsi que"],
[57,"accueil","recepción, bienvenida","","","","nome","","","","","","p.20","","accueil"],
[50,"à","en (ciudad de nacimiento)","","","","prep. ","","","","","","","position","à"],
[155,"à droite","a la derecha","","","","adv.","","","","","","exame.A1","position","à droite"],
[154,"à gauche","a la izquierda","","","","adv.","","","","","","exame.A1","position","à gauche"]
];
var usos="position;familie;lieu;animaux;temps;saludo;preguntar".split(";");
alert("USOS: "+JSON.stringify(usos));
var headers=null;
//headers= {"id":0,"francaise":1,"español":2,"xenero":3,"notas":4,"exemplos":5,"tipo":6,"nom":7,"adv":8,"verb":9,"prep":10,"conx":11,"páxina":12,"uso":13,"299":14};
if(headers===null) {
var nelem=0;
headers={};
alert(JSON.stringify(arrdata[0]));
arrdata[0].forEach(function(elem) {
headers[elem]=nelem++;
});
alert("HEADERS: "+JSON.stringify(headers));
}
var txtCol=["tipo","francaise"];
function sortarray(arrdata,headers,txtCol) {
// podemos pasar un 4º parámetro boolHeaders, para cando o propio arrdata conteña os headers na liña 1
return arrdata.sort(function (a, b) { // http://stackoverflow.com/a/9645447/710788
var n=0;
var retorno=false;
while(n<txtCol.length) {
// convertir éèêÉÈÊ --> e, çÇ --> c
var...