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