sort մեթոդը
sort մեթոդը դասավորում է զանգվածը
բառարանային կարգով և վերադարձնում է արդեն
փոփոխված զանգվածը։ Ոչ պարտադիր պարամետրով
կարելի է նշել սեփական ֆունկցիա դասավորման համար։
Շարահյուսություն
զանգված.sort([ֆունկցիա]);
Օրինակ
Եկեք դասավորենք զանգվածը.
let arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());
Կոդի կատարման արդյունք.
['a', 'b', 'c', 'd']
Օրինակ
Եկեք դասավորենք թվերով զանգվածը.
let arr = [4, 1, 7, 2];
console.log(arr.sort());
Կոդի կատարման արդյունք.
[1, 2, 4, 7]
Օրինակ
Եկեք ավելացնենք զանգվածում թվեր և դասավորենք այն.
let arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());
Կոդի կատարման արդյունքում մենք կտեսնենք, որ թվերը տեղադրված են ոչ աճման կարգով, այլ բառարանային կարգով, այսինքն՝ թվերը միմյանց հետ համեմատվում են որպես տողեր։ Այս դեպքում համեմատությունը կատարվում է յուրաքանչյուր նիշի համար, արդյոք առաջին նիշի կոդը մեծ է, թե հարևանինը և այլն։ Արդյունք.
[1, 111, 123, 2, 4, 7]
Օրինակ
Հիմա եկեք դասավորենք զանգվածը
ֆունկցիայի միջոցով, որում կգրենք պայմանը -
եթե առաջին պարամետրը մեծ է երկրորդից, ապա այն վերադասավորում ենք
(դրա համար return-ում ցանկացած դրական թիվ)։
Հակառակ դեպքում վերադասավորում չի պահանջվում և մենք նշում ենք
0 կամ ցանկացած բացասական թիվ.
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
if (a > b) {
return 1;
} else {
return -1;
}
});
console.log(arr);
Կոդի կատարման արդյունք.
[1, 2, 4, 7, 111, 123]
Օրինակ
Եկեք հարմարության համար կրճատենք կոդը մեր ֆունկցիայում նախորդ օրինակից.
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return a - b;
});
console.log(arr);
Կոդի կատարման արդյունք.
[1, 2, 4, 7, 111, 123]
Օրինակ
Իսկ այժմ ֆունկցիայի միջոցով դասավորենք զանգվածը նվազման կարգով.
let arr = [1, 123, 2, 4, 111, 7];
arr.sort(function(a, b) {
return b - a;
});
console.log(arr);
Կոդի կատարման արդյունք.
[123, 111, 7, 4, 2, 1]
Օրինակ
Եկեք դասավորենք օբյեկտների զանգվածը
'one' բանալիով աճման կարգով.
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);
Կոդի կատարման արդյունք.
[
{one: 1, two: 2},
{one: 3, two: 3},
{one: 7, two: 1}
]
Օրինակ
Իսկ այժմ եկեք դասավորենք օբյեկտների զանգվածը
'two' բանալիով.
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);
Կոդի կատարման արդյունք.
[
{one: 7, two: 1},
{one: 1, two: 2},
{one: 3, two: 3}
]
Օրինակ
Եկեք ստուգենք, արդյոք զանգվածը փոխվել է
sort մեթոդը կիրառելուց հետո.
let arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();
console.log(arr);
Կոդի կատարման արդյունք.
['a', 'b', 'c', 'd']
Տես նաև
-
filterմեթոդը,
որը թույլ է տալիս ֆիլտրել զանգվածի տարրերը