JS Ангилах /Sort/
Массивыг ангилах
sort()
method-г ашиглан массивын утгыг цагаан толгойн дарааллаар эрэмбэлж болно.
Жишээ нь
var foods = new Array("Tsuivan", "Buuz", "Khuushuur", "Bantan", "Chansan Makh");
document.getElementById("test").innerHTML = foods.sort();
Reversing буюу урвуу массив
reverse()
method нь массивын утгыг урвуугаар эрэмбэлнэ.
Жишээ нь
var foods = new Array("Tsuivan", "Buuz", "Khuushuur", "Bantan", "Chansan Makh");
foods.sort();
foods.reverse();
Тоог эрэмблэх
Анхдагч байдлаар sort()
method нь string төрлийн утгыг эрэмбэлдэг.
Гэхдээ харицуулах функц ашиглан тоог эрэмбэлэх боломжтой.
Жишээ нь
var onoo = [30, 20, 45, 70, 1, 200, 150];
onoo.sort(function(a, b){return a - b});
Урвуугаар эрэмблэх.
Жишээ нь
var onoo = [30, 20, 45, 70, 1, 200, 150];
onoo.sort(function(a, b){return b - a});
Харицуулах функц
Харьцуулах функцын зорилго нь эрэмбэлэх дарааллыг тодорхойлоход оршино.
Харьцуулах функц нь аргументуудаас хамааран сөрөг, тэг, эсвэл эерэг утгыг буцдаг.
function(a, b){return a - b};
Хэрэв үр дүн сөрөг буюу negative байвал a-аас b-рүү буюу a-г b-н өмнө эрэмбэлнэ.
Хэрэв үр дүн эерэг буюу positive байвал b-ээс a-руу буюу b-г а-н өмнө нь эрэмбэлнэ.
Хэрэв үр дүн 0 байвал харицуулалт хийхгүй.
Жишээ нь
Харьцуулах функц нь хоёр хоёроор (a, b) нь харьцуулдаг бөгөөд массивын бүх утгыг харьцуулж үр дүнг буцаадаг.
30 ба 70 -ийг харьцуулахдаа sort() methods нь дараах байдлаар дууддаг (30, 70)
Харьцуулалтын функц нь (a - b) буюу 30 - 70 гэж харьцуулах бөгөөд үр дүн нь сөрөг буюу (-40) байгаа тул эрэмбэлэх функц нь 30-ийг 70-аас бага гэж эрэмбэлнэ.
Дээрх жишээ нь тоог тоон дарааллаар эрэмбэлсэн. Тэгвэл цагаан толгойн дарааллаар эрэмбэлж бас болно.
Жишээ нь
var onoo = [30, 20, 45, 70, 1, 200, 150];
onoo.sort(function(a, b){return a - b});
document.getElementById("test").innerHTML = onoo[0];
Массивын утгын хамгийн их, хамгийн бага утгыг олох
Массивыг эрэмбэлсэний дараа массивын индекс хаягыг ашиглан MAX, MIN утгыг авч болно.
Хамгийн бага утгыг олох
Жишээ нь
var onoo = [30, 20, 45, 70, 1, 200, 150];
onoo.sort(function(a, b){return a - b});
Хамгийн их утгыг олох
Жишээ нь
var onoo = [30, 20, 45, 70, 1, 200, 150];
onoo.sort(function(a, b){return b - a});
Массивын хамгийн их болон бага утгыг олохын тулд массивыг эрэмбэлэх нь тохиромжгүй арга юм.
Math.max() функцыг ашиглан массивын хамгийн их утгыг олох
Math.max.apply()
функцыг ашиглан массивын хамгийн их утгыг олж болно.
Math.min() функцыг ашиглан массивын хамгийн бага утгыг олох
Math.min.apply()
функцыг ашиглан массивын хамгийн бага утгыг олж болно.
Min / Max олох myArrayMax(arr) функц
Энэ функц нь утга тус бүрийг харицуулж хамгийн их болон бага утгыг массиваас олдог.
Ихийг олох функц
Жишээ нь
function my ArrayMin(arr) {
var len = arr.length;
var max = -Infinity;
while (len--) {
if (arr[len] > max){
max = arr[len];
}
}
return max;
}
Багаыг олох функц
Жишээ нь
function myArrayMin(arr) {
var len = arr.length;
var min = Infinity;
while (len--) {
if (arr[len] < min){
min = arr[len];
}
}
return min;
}
Объект массивыг ангилах
Массив нь ихэвчлэн объект агуулдаг
Жишээ нь
var students = [
{ner:"Дорж", nas:18, golch:86},
{ner:"Болд", nas:22, golch:81},
{ner:"Дондог", nas:21, golch:93},
];
Объект нь өөр өөр өгөгдлийн төрлүүдтэй байсан ч sort()
methods-г ашиглан эрэмбэлж болно.