JavaScriptdə Arraydakı Rəqəmləri Artan Sıra ilə Sıralamaq.

Javascriptdə arraydakı elementləri sıralamaq üçün sort() funksiyasından istifadə olunur. Amma bu sort funksiyası hər şeyi string olaraq dəyərləndirir və unicode-a görə müqayisələndirərək, sıralayır. Bu isə rəqəmlərin sıralamasında səhvlər yaradır. Misal üçün 300 rəqəmi 70-dən böyük olduğu halda, sort funksiyası bunları string olaraq qəbul edir və ilk rəqəmləri müqayisə edərək sıralayır. Yəni, 3 kiçikdir 7 və bununla da qərara gəlir ki, 300 rəqəmi 70-dən kiçikdir.

Bəs əgər biz arraydakı rəqəmləri sıralamaq istəsək onda nə etməliyik?

Cavab: Əgər arraydakı rəqəmləri böyükdən kiçiyə doğru yazmaq istəyiriksə:

Nəticə isə belə alınacaq:

Cavab: Əgər arraydakı rəqəmləri kiçikdən böyüyə doğru yazmaq istəyiriksə:

Nəticə isə belə alınacaq:

Fikir versəniz, görərsiniz ki, sıralamanın kiçikdən böyüyə, böyükdən kiçiyə sıralamaq üçün sadəcə “cn” funksiyasındakı “return” sözündən sonrakı hərfləri dəyişmək kifayətdir.

Yəni “a-b”=kiçikdən böyüyə | “b-a”=böyükdən kiçiyə.

Funksiyanın adını istədəyimiz kimi qeyd edə bilərik…

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.