JSFiddle - React, Tailwind, and code Playground

by qustosh

JavaScript

//UTF8 POLISH SORT
var tab = [
["Kasia","Gwizd"],
["Zelo","Sagan"],
["Arek","Zelek"],
["Arek","Wajcha"],    
["Dariusz","Wielki"],
["Ędward","qwe"],
["Ądward","qwe"]
]    
var tab1 = [
["Ędward","qwe"], 
["Dariusz","Wielki"]    
]
    
var tab2 = [
["Aaaaśia"],
["Aaaaqia"],
["Aaaaćia"],
["Basia"],
["Ędyta"],
["Boryła"]
]
    
function arek(a, b){
    //znaki diakrytyczne znajdujace sie w polskim slowniku
    var dictPolZnaki = ["ą","ć","ę","ł","ń","ó","ś","ź","ż"];
    //dlugosc tablicy polskich znakow diakrytycznych
    var lenDictPolZnaki = dictPolZnaki.length;
    
    //polskie + angielskie litery
    var pol = {"0":0,"a":1,"ą":2,"b":3,"c":4,"ć":5,"d":6,"e":7,"ę":8,"f":9,"g":10,"h":11,"i":12,"j":13,"k":14,"l":15,"ł":16,"m":17,"n":18,"ń":19,"o":20,"ó":21,"p":22,"q":23,"r":24,"s":25,"ś":26,"t":27,"u":28,"v":29,"w":30,"x":31,"y":32,"z":33,"ź":34,"ż":35}
    
    var a = a[0];
    var b = b[0];
        
    //zamienic oba stringi do lowerCase
    a = a.toLocaleLowerCase(); //check if thats better then toLowerCase
    b = b.toLocaleLowerCase(); //check if thats better then toLowerCase
    var alen = a.length;
    var blen = b.length;
    
    //jezeli ktorykolwiek ze stringow zawiera polskie znaki diakrytyczne uzyj specialnego sortu
    for(var i=0; i<lenDictPolZnaki; i++){
        if(a.indexOf(dictPolZnaki[i]) !== -1 || b.indexOf(dictPolZnaki[i]) !== -1){
            

            //make both strings the same length, fill empty spaces with zeros
            var diff = alen - blen;
            var absDiff = Math.abs(diff);
            if(diff<0){
                for(var j=0; j<absDiff; j++){
                    a += "0";
                }
            }else if(diff>0){
                for(var j=0; j<absDiff; j++){
                    b += "0";
                }
            }else{
            //do nothing strings have the same length
            }
            
                  //              console.log(a);
                //console.log(b);
            
          ...