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әдісі,
массив элементтерін сүзуге мүмкіндік береді