Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][JavaScript] sortowanie za pomocą localeCompare()
stellatus
post
Post #1





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 9.03.2017

Ostrzeżenie: (0%)
-----


Mam taki skrypt:
Kod
<!DOCTYPE HTML>  
<html>  
    <head>  
        <title> Sort a list alphabetically </title>
        <script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
    </head>  
      
    <body>  
        <button> click here </button>
          
        <ul>
            <li>Geeks</li>
            <li>Sosna</li>
            <li>Zebra</li>
            <li>GeeksForGeeks</li>
          <li><h1>G</h1></li>
            <li><h1>F</h1></li>
            <li>Arbuz</li>
            <li><h1>A</h1></li>
          <li>Łódź</li>
            <li><h1>Ł</h1></li>
          <li>ósmy</li>
            <li><h1>Ó</h1></li>
          <li>święty</li>
            <li><h1>Ś</h1></li>
          <li>ärgern</li>
            <li><h1>Ä</h1></li>
          <li>Österreich</li>
            <li><h1>Ö</h1></li>
          <li>Überraschung</li>
            <li><h1>Ü</h1></li>
        </ul>

        <script>
            function Ascending_sort(a, b) {
                return ($(b).text().toUpperCase()) <  
                    ($(a).text().toUpperCase()) ? 1 : -1;  
            }
            $('button').on('click', function() {
                $("ul li").sort(Ascending_sort).appendTo('ul');
            });                  
        </script>  
    </body>  
</html>


Codepen: https://codepen.io/rudolph-reti/pen/dyPzXER

Dopiero zacząłem uczyć się JavaScriptu. Myślę, że jeszcze sporo materiału musiałbym przerobić zanim sam poradziłbym sobie z tym, dlatego bardzo proszę o pomoc. Chciałbym, żeby lista była sortowana za pomocą funkcji localeCompare(). Czy mógłby mi ktoś pomóc wpleść ją w ten kod?

Ten post edytował stellatus 29.12.2019, 12:55:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
stellatus
post
Post #2





Grupa: Zarejestrowani
Postów: 196
Pomógł: 0
Dołączył: 9.03.2017

Ostrzeżenie: (0%)
-----


OK. Tak jak w poprzednich przykładach duże litery też miałyby być docelowo elementami list <ul> i nagłówkami <h3>.

Sposób 1 - tylko język niemiecki, litery Ä, Ö, Ü, ẞ powinny być na końcu:
Z, Zecke, G, Geschäft, F, Friedrich, Affe, A, ärgern, Ä, Österreich, Ö, Überraschung, Leute, Ü, L, S, oft, O, Urlich, U, B, Bier, Fuß, film, groß, grom, müde, mur


Sposób 2 (słowa polskie i niemieckie, kolejność liter: A, Ą, Ä, B, C, Ć, D, E, Ę, F, G, H, I, J, K, L, Ł, M, N, Ń, O, Ó, Ö, P, R, S, Ś, ß, T, U, Ü, W, Y, Z, Ź, Ż:
Z, złoto, Zecke, G, Geschäft, garnek, F, Friedrich, fajka, Affe, A, arbuz, ärgern, Ä, Österreich, Ö, Überraschung, Leute, ludzie, Ü, L, S, samochód, oft, O, oczy, Urlich, U, B, Bier, baba, Fuß, film, groß, grom, müde, mur

Kolega ze Stackoverflow próbował w ten sposób: https://codepen.io/_Light/pen/vYEWYMy?editors=1010, ale jego skrypt nie działa. Założenie mi się jednak bardzo podoba, bo chciałbym dowolnie zmieniać kolejność liter przy sortowaniu.

Ten post edytował stellatus 4.01.2020, 12:14:14
Go to the top of the page
+Quote Post

Posty w temacie
- stellatus   [HTML][JavaScript] sortowanie za pomocą localeCompare()   29.12.2019, 12:52:38
- - nospor   No to zamiast return ($(.text().toUpperCase(...   30.12.2019, 11:31:26
- - stellatus   Dzięki Tutaj jest trochę zmodyfikowana wersja: ...   1.01.2020, 14:50:52
- - nospor   U mnie sortuje prawidlowo wiec pewnie nie masz wgr...   2.01.2020, 12:04:21
- - stellatus   Mam Firefoxa 71, więc powinno działać.   3.01.2020, 10:56:53
- - nospor   Pisalem o dwoch potencjalnych problemach   3.01.2020, 11:04:36
- - stellatus   No tak, sorry. Chodzi o to, że "nie mam wgran...   3.01.2020, 15:48:52
- - nospor   No ze musisz dograc do systemu paczke z jezykiem n...   3.01.2020, 15:52:37
- - stellatus   Do jakiego systemu? Windowsa i Firefoxa mam już po...   3.01.2020, 22:07:42
- - nospor   Kiepski ten twoj niemiecki w takim razie Dobra, ...   4.01.2020, 09:52:35
- - stellatus   Nie rozumiem co masz na myśli mówiąc "przykła...   4.01.2020, 11:40:57
- - nospor   No podaj przyklad paru slow, w kolejnosci jaka chc...   4.01.2020, 11:43:18
- - stellatus   OK. Tak jak w poprzednich przykładach duże litery ...   4.01.2020, 11:57:23
- - nospor   Nie ogarniam tego co piszesz. Ewidentnie jestem za...   4.01.2020, 12:34:13
- - stellatus   To ja jestem głupi:) Sorry, napisałeś przecież wyr...   4.01.2020, 13:04:53
- - nospor   No to drugi przyklad zalatwia ci w pelni localeCom...   4.01.2020, 17:26:02
- - trueblue   Cytat(stellatus @ 4.01.2020, 11:57:23...   4.01.2020, 17:36:30
- - stellatus   Nie wiedziałem gdzie tę metodę wprowadzić, więc do...   5.01.2020, 12:20:58
- - trueblue   Działa poprawnie. Wielkie litery w alfabecie mają ...   5.01.2020, 12:27:19
- - stellatus   Dzięki! Działa, choć nie rozumiem jeszcze jak...   5.01.2020, 19:23:48


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 12.10.2025 - 19:32