Metod sort
Metod sort massivi leksikoqrafik qaydada çeşidləyir
və artıq dəyişdirilmiş massivi qaytarır. İstəyə bağlı parametr kimi
çeşidləmə üçün öz funksiyanızı təyin edə bilərsiniz.
Sintaksis
massiv.sort([funksiya]);
Nümunə
Gəlin massivi çeşidləyək:
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Kodun icrasının nəticəsi:
['a', 'b', 'c', 'd']
Nümunə
Gəlin rəqəmlərdən ibarət massivi çeşidləyək:
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Kodun icrasının nəticəsi:
[1, 2, 4, 7]
Nümunə
Gəlin massivə rəqəmlər əlavə edək və onu çeşidləyək:
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Kodun icrası nəticəsində görəcəyik ki, rəqəmlər artan qaydada deyil, leksikoqrafik qaydada yerləşir, yəni rəqəmlər bir-biri ilə sətirlər kimi müqayisə edilir. Bu zaman müqayisə hər bir simvol üzrə aparılır, birinci simvolun kodu qonşunun kodundan böyükdürmü və s. Nəticə:
[1, 111, 123, 2, 4, 7]
Nümunə
İndi gəlin funksiyanın köməyi ilə massivi çeşidləyək,
burada şərti təyin edək -
əgər birinci parametr ikincidən böyükdürsə, onları dəyişdiririk
(bunun üçün return istənilən müsbət rəqəm).
Əks halda dəyişdirmə tələb olunmur və biz
0 və ya istənilən mənfi rəqəm göstəririk:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Kodun icrasının nəticəsi:
[1, 2, 4, 7, 111, 123]
Nümunə
Gəlin rahatlıq üçün əvvəlki nümunədəki funksiyanın kodunu qısaldaq:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Kodun icrasının nəticəsi:
[1, 2, 4, 7, 111, 123]
Nümunə
İndi isə funksiyanın köməyi ilə massivi azalan qaydada çeşidləyək:
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Kodun icrasının nəticəsi:
[123, 111, 7, 4, 2, 1]
Nümunə
Gəlin obyektlər massivini
'one' açarı üzrə artan qaydada çeşidləyək:
let arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.one - b.one;
});
console.log(arr);
Kodun icrasının nəticəsi:
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Nümunə
İndi isə gəlin obyektlər massivini
'two' açarı üzrə çeşidləyək:
let arr = [
{one: 1, two: 2},
{one: 7, two: 1},
{one: 3, two: 3}
];
arr.sort(function(a, b) {
return a.two - b.two;
});
console.log(arr);
Kodun icrasının nəticəsi:
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Nümunə
Gəlin yoxlayaq metod sort tətbiq edildikdən sonra
massiv dəyişib ya yox:
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Kodun icrasının nəticəsi:
['a', 'b', 'c', 'd']
Həmçinin bax
-
metod
filter,
massiv elementlərini süzməyə imkan verir