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