Метод 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,
массив элементларини фильтрлаш имконини беради