Metod sort

Metod sort massivni leksikografik tartibda saralaydi va oʻzgartirilgan massivni qaytaradi. Ixtiyoriy parametr sifatida oʻzingizning saralash funksiyangizni belgilashingiz mumkin.

Sintaksis

javascriptmassiv.sort([funksiya]);

Misol

Keling, massivni saralaymiz:

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

Kodni bajarish natijasi:

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

Misol

Keling, raqamlardan tashkil topgan massivni saralaymiz:

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

Kodni bajarish natijasi:

javascript[1, 2, 4, 7]

Misol

Keling, massivga raqamlarni qoʻshamiz va uni saralaymiz:

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

Kodni bajarish natijasida biz raqamlar oʻsish tartibida emas, balki leksikografik tartibda joylashganini koʻramiz, yaʼni raqamlar bir-biri bilan satrlar kabi solishtiriladi. Bunda solishtirish har bir belgi boʻyicha amalga oshiriladi, birinchi belgining kodi qoʻshni belgining kodidan kattaroqmi va h.k. Natija:

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

Misol

Endi keling, massivni funksiya yordamida saralaymiz, unda shartni belgilaymiz - agar birinchi parametr ikkinchisidan katta boʻlsa, uni almashtiramiz (buning uchun return da ijobiy raqam koʻrsatamiz). Aks holda almashtirish talab qilinmaydi va biz 0 yoki har qanday manfiy raqamni koʻrsatamiz:

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

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

console.log(arr);

Kodni bajarish natijasi:

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

Misol

Keling, qulaylik uchun oldingi misrdagi funksiya kodini qisqartiramiz:

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

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

console.log(arr);

Kodni bajarish natijasi:

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

Misol

Endi esa funksiya yordamida massivni kamayish tartibida saralaymiz:

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

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

console.log(arr);

Kodni bajarish natijasi:

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

Misol

Keling, obyektlardan tashkil topgan massivni 'one' kaliti boʻyicha oʻsish tartibida saralaymiz:

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

Kodni bajarish natijasi:

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

Misol

Endi esa keling, obyektlardan tashkil topgan massivni 'two' kaliti boʻyicha saralaymiz:

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

Kodni bajarish natijasi:

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

Misol

Keling, sort metodini qoʻllagandan soʻng massiv oʻzgarganligini tekshiramiz:

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

console.log(arr);

Kodni bajarish natijasi:

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

Shuningdek qarang

  • metod filter,
    u massiv elementlarini filtrlash imkonini beradi