Eng tezkor echim - "uyda ishlab chiqarilgan" usuldan foydalanish.
Ushbu funktsiya har bir qiymatni topilgan eng yuqori qiymat bilan taqqoslaydigan qator orqali harakat qiladi:
Misol (Maksni toping)
function myArrayMax(arr) {
var len = arr.length;
var max = -Infinity;
while (len--) {
if (arr[len] > max) {
max = arr[len];
}
}
return max;
}
O'zingiz sinab ko'ring »
Ushbu funktsiya har bir qiymatni topilgan eng past qiymat bilan taqqoslaydigan qator orqali harakat qiladi:
Misol (Min toping)
function myArrayMin(arr) {
var len = arr.length;
var min = Infinity;
while (len--) {
if (arr[len] < min) {
min = arr[len];
}
}
return min;
}
O'zingiz sinab ko'ring »
Ob'ekt massivlarini saralash
JavaScript qatorlari ko'pincha ob'ektlarni o'z ichiga oladi:
Misol
var cars = [
{type:"Volvo", year:2016},
{type:"Saab", year:2001},
{type:"BMW", year:2010}
];
Ob'ektlar har xil ma'lumotlar turlarining xususiyatlariga ega bo'lsa ham, bu sort()usul yordamida massivni saralash mumkin.
Qaror, xususiyat qiymatlarini taqqoslash uchun taqqoslash funktsiyasini yozishdan iborat:
Misol
cars.sort(function(a, b){return a.year - b.year});
O'zingiz sinab ko'ring »
Ip xususiyatlarini taqqoslash biroz murakkabroq:
Misol
cars.sort(function(a, b){
var x = a.type.toLowerCase();
var y = b.type.toLowerCase();
if (x < y) {return -1;}
if (x > y) {return 1;}
return 0;
});
JavaScript Array takrorlash usullari
❮ OldingiKeyingi ❯
Massivni takrorlash usullari har qanday massiv elementida ishlaydi.
Array.forEach ()
forEach()Usul har bir array element uchun bir marta vazifasini (a faollik funktsiya) chaqiradi.
Misol
var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value, index, array) {
txt = txt + value + "
";
}
O'zingiz sinab ko'ring »
E'tibor bering, funktsiya 3 ta dalilni oladi:
Yuqoridagi misolda faqat qiymat parametri ishlatiladi. Misolni quyidagicha yozish mumkin:
Misol
var txt = "";
var numbers = [45, 4, 9, 16, 25];
numbers.forEach(myFunction);
function myFunction(value) {
txt = txt + value + "
";
}
O'zingiz sinab ko'ring »
Array.forEach() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi:
Array.map ()
map()Usul har bir array element funktsiyani amalga tomonidan yangi qator yaratadi.
map()Usuli qadriyatlar holda array elementlar vazifasini amalga oshirish emas.
map()Usuli original qator o'zgarmaydi.
Ushbu misol har bir massiv qiymatini 2 ga ko'paytiradi:
Misol
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value, index, array) {
return value * 2;
}
O'zingiz sinab ko'ring »
E'tibor bering, funktsiya 3 ta dalilni oladi:
Element qiymati
Mahsulot indeksi
Massivning o'zi
Qayta qo'ng'iroq qilish funktsiyasi faqat qiymat parametrini ishlatganda, indeks va qator parametrlari o'tkazib yuborilishi mumkin:
Misol
var numbers1 = [45, 4, 9, 16, 25];
var numbers2 = numbers1.map(myFunction);
function myFunction(value) {
return value * 2;
}
O'zingiz sinab ko'ring »
Array.map() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi.
Array.filter ()
filter()Usul sinovidan o'tadi array elementlar bilan yangi qator yaratadi.
Ushbu misol qiymati 18 dan katta bo'lgan elementlardan yangi qator yaratadi:
Misol
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
O'zingiz sinab ko'ring »
E'tibor bering, funktsiya 3 ta dalilni oladi:
Element qiymati
Mahsulot indeksi
Massivning o'zi
Yuqoridagi misolda qayta qo'ng'iroq qilish funktsiyasi indeks va qator parametrlaridan foydalanmaydi, shuning uchun ularni qoldirib yuborish mumkin:
Misol
var numbers = [45, 4, 9, 16, 25];
var over18 = numbers.filter(myFunction);
function myFunction(value) {
return value > 18;
}
O'zingiz sinab ko'ring »
Array.filter() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi.
Array.reduce ()
reduce()Usuli mahsulot uchun har bir array element bir vazifani ishlaydi, bitta qiymat (uni kamaytirish).
reduce()Usuli qator qolgan-to-o'ng ishlaydi. Shuningdek qarang reduceRight().
reduce()Usuli original qator kamaytirish emas.
Ushbu misol massivdagi barcha raqamlar yig'indisini topadi:
Misol
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
O'zingiz sinab ko'ring »
E'tibor bering, funktsiya 4 ta dalilni oladi:
Jami (dastlabki qiymat / avval qaytarilgan qiymat)
Element qiymati
Mahsulot indeksi
Massivning o'zi
Yuqoridagi misolda indeks va qator parametrlari ishlatilmaydi. Uni quyidagilarga yozish mumkin:
Misol
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction);
function myFunction(total, value) {
return total + value;
}
O'zingiz sinab ko'ring »
reduce()Usuli boshlang'ich qiymatini qabul qilishi mumkin:
Misol
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduce(myFunction, 100);
function myFunction(total, value) {
return total + value;
}
O'zingiz sinab ko'ring »
Array.reduce() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi.
Array.reduceRight ()
reduceRight()Usuli mahsulot uchun har bir array element bir vazifani ishlaydi, bitta qiymat (uni kamaytirish).
reduceRight()Dan ishlari qator o'ng-chapga. Shuningdek qarang reduce().
reduceRight()Usuli original qator kamaytirish emas.
Ushbu misol massivdagi barcha raqamlar yig'indisini topadi:
Misol
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value, index, array) {
return total + value;
}
O'zingiz sinab ko'ring »
E'tibor bering, funktsiya 4 ta dalilni oladi:
Jami (dastlabki qiymat / avval qaytarilgan qiymat)
Element qiymati
Mahsulot indeksi
Massivning o'zi
Yuqoridagi misolda indeks va qator parametrlari ishlatilmaydi. Uni quyidagilarga yozish mumkin:
Misol
var numbers1 = [45, 4, 9, 16, 25];
var sum = numbers1.reduceRight(myFunction);
function myFunction(total, value) {
return total + value;
}
O'zingiz sinab ko'ring »
Array.reduceRight() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi.
Array.every ()
every()Usul tekshirish Barcha array qadriyatlar bir mesh qilish.
Ushbu misol barcha qator qiymatlari 18 dan katta ekanligini tekshiradi:
Misol
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
O'zingiz sinab ko'ring »
E'tibor bering, funktsiya 3 ta dalilni oladi:
Element qiymati
Mahsulot indeksi
Massivning o'zi
Qayta qo'ng'iroq qilish funktsiyasi faqat birinchi parametrni ishlatganda (qiymat), boshqa parametrlar qoldirilishi mumkin:
Misol
var numbers = [45, 4, 9, 16, 25];
var allOver18 = numbers.every(myFunction);
function myFunction(value) {
return value > 18;
}
O'zingiz sinab ko'ring »
Array.every() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi.
Array.some ()
some()Usul tekshirish ba'zi array qadriyatlar bir mesh qilish.
Ushbu misol ba'zi bir qator qiymatlari 18 dan katta ekanligini tekshiradi:
Misol
var numbers = [45, 4, 9, 16, 25];
var someOver18 = numbers.some(myFunction);
function myFunction(value, index, array) {
return value > 18;
}
O'zingiz sinab ko'ring »
E'tibor bering, funktsiya 3 ta dalilni oladi:
Element qiymati
Mahsulot indeksi
Massivning o'zi
Array.some() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi.
Array.indexOf ()
indexOf()Usuli bir element qiymati uchun qator izlaydi va uning o'rnini qaytaradi.
Izoh: Birinchi element 0 holatiga, ikkinchi element 1 pozitsiyaga ega va hokazo.
Misol
"Apple" elementi uchun qatorni qidirish:
var fruits = ["Apple", "Orange", "Apple", "Mango"];
var a = fruits.indexOf("Apple");
O'zingiz sinab ko'ring »
Array.indexOf() Internet Explorer 8 yoki undan oldingi versiyalaridan tashqari barcha brauzerlarda qo'llab-quvvatlanadi.
Sintaksis
Do'stlaringiz bilan baham: |