sort մեթոդը

sort մեթոդը դասավորում է զանգվածը բառարանային կարգով և վերադարձնում է արդեն փոփոխված զանգվածը։ Ոչ պարտադիր պարամետրով կարելի է նշել սեփական ֆունկցիա դասավորման համար։

Շարահյուսություն

javascriptզանգված.sort([ֆունկցիա]);

Օրինակ

Եկեք դասավորենք զանգվածը.

javascriptlet arr = ['d', 'b', 'a', 'c'];
console.log(arr.sort());

Կոդի կատարման արդյունք.

javascript['a', 'b', 'c', 'd']

Օրինակ

Եկեք դասավորենք թվերով զանգվածը.

javascriptlet arr = [4, 1, 7, 2];
console.log(arr.sort());

Կոդի կատարման արդյունք.

javascript[1, 2, 4, 7]

Օրինակ

Եկեք ավելացնենք զանգվածում թվեր և դասավորենք այն.

javascriptlet arr = [1, 123, 2, 4, 111, 7];
console.log(arr.sort());

Կոդի կատարման արդյունքում մենք կտեսնենք, որ թվերը տեղադրված են ոչ աճման կարգով, այլ բառարանային կարգով, այսինքն՝ թվերը միմյանց հետ համեմատվում են որպես տողեր։ Այս դեպքում համեմատությունը կատարվում է յուրաքանչյուր նիշի համար, արդյոք առաջին նիշի կոդը մեծ է, թե հարևանինը և այլն։ Արդյունք.

javascript[1, 111, 123, 2, 4, 7]

Օրինակ

Հիմա եկեք դասավորենք զանգվածը ֆունկցիայի միջոցով, որում կգրենք պայմանը - եթե առաջին պարամետրը մեծ է երկրորդից, ապա այն վերադասավորում ենք (դրա համար return-ում ցանկացած դրական թիվ)։ Հակառակ դեպքում վերադասավորում չի պահանջվում և մենք նշում ենք 0 կամ ցանկացած բացասական թիվ.

javascriptlet arr = [1, 123, 2, 4, 111, 7];

arr.sort(function(a, b) {
  if (a > b) {
    return 1;
  } else {
    return -1;
  }
});

console.log(arr);

Կոդի կատարման արդյունք.

javascript[1, 2, 4, 7, 111, 123]

Օրինակ

Եկեք հարմարության համար կրճատենք կոդը մեր ֆունկցիայում նախորդ օրինակից.

javascriptlet arr = [1, 123, 2, 4, 111, 7];

arr.sort(function(a, b) {
  return a - b;
});

console.log(arr);

Կոդի կատարման արդյունք.

javascript[1, 2, 4, 7, 111, 123]

Օրինակ

Իսկ այժմ ֆունկցիայի միջոցով դասավորենք զանգվածը նվազման կարգով.

javascriptlet arr = [1, 123, 2, 4, 111, 7];

arr.sort(function(a, b) {
  return b - a;
});

console.log(arr);

Կոդի կատարման արդյունք.

javascript[123, 111, 7, 4, 2, 1]

Օրինակ

Եկեք դասավորենք օբյեկտների զանգվածը 'one' բանալիով աճման կարգով.

javascriptlet 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);

Կոդի կատարման արդյունք.

javascript[
  {one: 1, two: 2},
  {one: 3, two: 3},
  {one: 7, two: 1}
]

Օրինակ

Իսկ այժմ եկեք դասավորենք օբյեկտների զանգվածը 'two' բանալիով.

javascriptlet 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);

Կոդի կատարման արդյունք.

javascript[
  {one: 7, two: 1},
  {one: 1, two: 2},
  {one: 3, two: 3}
]

Օրինակ

Եկեք ստուգենք, արդյոք զանգվածը փոխվել է sort մեթոդը կիրառելուց հետո.

javascriptlet arr = ['b', 'a', 'd', 'c'];
let res = arr.sort();

console.log(arr);

Կոդի կատարման արդյունք.

javascript['a', 'b', 'c', 'd']

Տես նաև

  • filter մեթոդը,
    որը թույլ է տալիս ֆիլտրել զանգվածի տարրերը