JavaScript massiv usullari. JavaScript massividagi bitta elementni qanday ko'rish mumkin? JavaScript-da Masivi


Download 129.15 Kb.
bet1/11
Sana07.05.2023
Hajmi129.15 Kb.
#1440088
  1   2   3   4   5   6   7   8   9   10   11
Bog'liq
JavaScript Massiv


JavaScript massiv usullari. JavaScript massividagi bitta elementni qanday ko'rish mumkin? JavaScript-da Masivi
Massivlar yordamida siz Array konstruktoriga tayanadigan turli usullar bilan ishlashingiz mumkin.
pop/push va shift/unshift usullari
Keling, pop() va push() usullarini ko'rib chiqaylik. Qi usullari steklar kabi massivlar bilan ishlash imkonini beradi. Stack - bu LIFO printsipi bo'yicha tashkilotlarning elementlariga kirish imkoniyatiga ega ma'lumotlar tuzilishi (inglizcha oxirgi kir - birinchi chiqadi, "oxirgi kir - birinchi chiqadi"). Robot stackning printsipini plitalar to'plami bilan solishtirish mumkin: boshqa hayvonni olish uchun siz eng yuqori qismini olishingiz kerak. Uning qanday ishlashi kichik birida tasvirlangan:
Keling, push() va pop() usullarini ko'rib chiqaylik. Push() usuli massiv oxiriga bir yoki bir nechta yangi elementlarni qo'shadi va yangisini aylantiradi. pop() usuli - massivning qolgan elementini ko'rsatadi, ikkinchi massivni o'zgartiradi va uning qiymatini yanada aylantiradi. Varto usullar bilan xafa bo'lganlarga hurmat ko'rsatadi va maydonda massivni o'zgartiradi va o'zgartirilgan nusxasini yaratmaydi.
varfoo=; // foo: foo.push(1,2); // foo: 2 ni aylantiring foo.pop(); // foo: 2-ni bosing foo.push(3); // foo: 2 ni aylantiring foo.pop(); // foo: 3 tugmani bosing foo.push(); // foo: ] 2 ni aylantiring foo.pop() // foo: foo.pop(); // foo: Rotate 1 var fruits = ["nok", "banan", "olma"]; var picked = fruits.pop(); document.write("Siz menikini oldingiz" + tanlangan); harakat qilib ko'ring
Shift() va unshift() usullari pop() va push() kabi ko'p ishlarni bajaradi, bundan tashqari ular massivning kobiga elementlarni kiritish va olib tashlashdan tashqari. unshift() usuli yangi elementlarning o'rnini o'zgartirish, massivga bir yoki bir nechta elementlarni qo'shish va yangi massivni boshqasiga aylantirish uchun katta indekslarning muhim elementlarini almashtiradi. Shift() usuli massivning birinchi elementini ko'radi va ikkinchi qiymatni aylantiradi, keyingi barcha elementlarni egallash uchun o'zgartiradi. bo'sh joy massivning boshida.
Var f =; // f: f.unshift(1); // f: Aylantirish: 1 f.unshift(22); // f: Shift: 2 f.shift(); // f: Aylantirish: 22 f.unshift(3,); // f:,1] Aylantirish: 3 f.shift(); // f:[,1] Aylantirish: 3 f.shift(); // f: Burilish: f.shift(); // f: Burilish: 1
qo'shilish usuli
Array.join() massiv elementlarini bir qatorda birlashtirish uchun noto'g'ri. Usul majburiy bo'lmagan qator argumentidan o'tkazilishi mumkin, undan qatordagi kichik elementlar uchun foydalanish mumkin. Agar topshiriqlar bo'lmasa, unda bir soat davomida usul qulf uchun ramz-split bilan koma bo'ladi.
Var a = ["Shamol", "Suv", "Olov"]; var myVar1 = a.join(); //"Water,Water,Fire" var myVar2 = a.join(", "); //"Wind, Rain, Fire" var myVar3 = a.join(" + "); //"Shamol + Yog'och + Olov" document.write(myVar1 + "
" + myVar2 + "
+ myVar3); Sinab ko'ring »
Array.join() usuli String.split() usuliga qaytish usuli boʻlib, qatorni boʻlaklarga boʻlish orqali massiv hosil qiladi.
teskari usul
Array.reverse() usuli massivdagi elementlarning tartibini uzaytirish uchun o‘zgartiradi va massivni qayta tartiblangan elementlar bilan aylantiradi. Bu usul elementlarni qayta tartiblashdan yangi massiv yaratmaydi, balki ularni allaqachon mavjud massivdan qayta tartiblaydi.
Var myArr = ["bir", "ikki", "uch"]; document.write(myArr.reverse()); harakat qilib ko'ring
birlashtirish usuli
Array.concat() usuli joriy massiv elementlarini almashtirish uchun yangi massivni yaratadi va aylantiradi, buning uchun concat() usuli chaqiriladi, ketma-ket concat() usuliga o'tkazilgan barcha argumentlarning qiymatlarini qo'shadi. Agar ushbu argumentlarning birortasi massiv bo'lsa, unda barcha elementlar qo'shiladi. Argumentlar sifatida massivlarning nomlari tanlanadi va ular elementlarini birlashtirish zarur bo'lgan tartibda ko'rsatiladi.
Var a =; a.concat(4, 5) // a.concat(); // bir xil - aylantirish a.concat(,) // Qaytish
saralash usuli
Massivdagi Array.sort() usuli massiv elementlarini tartiblaydi va tartiblangan massivni aylantiradi. Xuddi shunday, sort() usuli argumentsiz chaqiriladi, massiv elementlarini alifbo tartibida tartiblaydi (vaqt bo'yicha u keyingi tartibgacha qatorlarga aylanadi). Argument sifatida sort() usuli elementlarning tartiblash tartibini aniqlash uchun tartiblash funksiyasini olishi mumkin.
Var a = ["Kiv", "Apelsin", "Armut"]; a.sort(); vars = a.join(", "); //Apelsin, nok, kivi hujjat.write(lar); //Raqamli tugma var myArr = ; myArr.sort(); document.write(myArr); //1,10,2 urinib ko'ring »
Raqamlarni saralagandan so'ng, siz uchta yoki undan ortiq boshqa natijalarga erishdingiz. Bunday saralash sort() usuli elementlarni tartiblash, ularni qatorlarga aylantirish bilan bog'liq edi. Shuning uchun ular qator tartibiga ega - aje "10"
Boshqa har qanday tartibda, alifbo tartibida saralash uchun sort() usulini argument sifatida tartiblash funksiyasiga o‘tkazishingiz mumkin. Prote sled vrahuvati, scho funktsiyasi por_vnyannya tasodifan o'zingiz yozish. Tsya funktsiyasi onaning ikkita parametri uchun aybdor, toshlar o'rnatilmagan, ikkita y argumentdan qaysi biri saralangan ro'yxatda oldingi holat uchun aybdor. Bunday funktsiyani ishlab chiqish va yozishni osonlashtirish uchun bir nechta qoidalar mavjud bo'lib, ular uchun elementlarning tartibi aniqlanadi:

  • Birinchi argument boshqasiga qayta tayinlanishi mumkinligi sababli, teng funktsiya manfiy raqamni aylantiradi (ya'ni

  • Agar birinchi argument boshqasiga ergashsa, ekvivalentlik funktsiyasi ijobiy sonni aylantiradi (shuning uchun a > b)

  • Ikki qiymat ekvivalent bo'lganligi sababli (u holda ularning aylanish tartibi muhim emas), hizalama funktsiyasi 0 ga aylanadi (shuning uchun a == b)

Argumentlaringizga mos kelish uchun funksiya massiv elementlariga mos keladi:
Funktsiya foo(a,b) ( //reverb funktsiyasini aniqlang, agar (a b) 1 qaytarilsa; 0 qaytarilsa; //demak a == b ) var a = ; a.sort(foo); //agar argument hujjat funktsiyaga uzatilmasa.write(a.join(", ")); //qisqaroq ham bo'lishi mumkin var a = ; a.sort(funksiya(a,b) ( //deyarli anonim funksiya a - b qaytaradi; // 0 qiymatini aylantirish funksiyasi)); hujjat.write(a); //1,2,5,10 Sinab ko'ring »
Dumbadagi birinchi yozuv tushunarli bo'ladigan tarzda yozilgan, xuddi amaliy kabi. Hurmat ko'rsatish, boshqa fragmentdagi anonim funksiyaga qo'lda ko'z qisib qo'yish. Von faqat bir marta chaqiradi, uning ismini aytishga hojat yo'q.
Eslatma: Agar massivda aniqlanmagan elementlar (aniqlanmagan) bo'lsa, badbo'y hid massiv oxiriga o'tkaziladi.
kesish usuli
Array.slice() usuli tayinlangan boʻlakni massivga nusxalash va koʻchirilgan elementlarni olib tashlash uchun yangi massivni aylantirish uchun qayta yoziladi. Tashqi massiv o'z-o'zidan o'zgarmaydi.
Usul sintaksisi:
im_massiv.tilim(boshlash, tugatish);
Im'ya_array im'yam massivini almashtirishi kerak, buning uchun yangi massiv uchun bir xil elementlar to'plamini ajratib olish kerak. Usul ikkita argumentni qabul qiladi, ya'ni ular massivning burilish nuqtasini va oxirini belgilaydi. Usul faylni boshidan oxirigacha massivga nusxalaydi, oxirini hisobga olmaganda. Agar bir nechta argument ko'rsatilgan bo'lsa, aylantirilgan massiv massiv oxirigacha belgilangan pozitsiyadagi barcha elementlarni almashtiradi. Salbiy indekslarni engishingiz mumkin - massivning oxiridan hid o'sadi.
var arr=; arr tilim(0,3); //arr.slice(3) ni aylantiring; //arr.slice(1,-1) ni aylantiring; //arr.slice(-3,-2); //Buriling
ulash usuli
Array.splice() usuli massivlar bilan ishlashning umumiy usuli hisoblanadi. U slice() va concat() usullarida bo'lgani kabi yangi massiv o'zgarishlarini aylantirish o'rniga massivni bir joyga o'zgartiradi. Birlashtirish usuli elementlarni massivdan olib tashlashi, yangi elementlarni kiritishi, elementlarni almashtirishi mumkin - soat bo'yicha. Olib tashlangan elementlardan tashkil topgan massivni xuddi ko'rinmaydigan elementlardan topilgandek aylantiring, bo'sh massivni aylantiring.
Usul sintaksisi:
array_name.splice(indeks, y, element1, ..., elementN);
Birinchi argument massiv indeksini belgilaydi, bu elementlarni kiritish yoki olib tashlash uchun sababdir. Boshqa argument elementlar sonini belgilaydi, shuning uchun elementlar birinchi argumentda ko'rsatilgan indeksga qarab massivdan o'chiriladi, agar boshqa argument 0 ga o'rnatilgan bo'lsa, elementlar o'chirilmaydi. Tuzatishning yana bir argumenti sifatida massivning barcha elementlari massiv oxirigacha tayinlangan indeksdan olib tashlanadi. Agar siz salbiy pozitsiya raqamini tanlasangiz, elementlar massivning oxiridan bo'ladi.
Var fruits = ["apelsin", "olma", "nok", "uzum"]; var o'chirildi = fruits.splice(2,2); //Turn ["nok", "uzum"] document.write(o'chirilgan); var arr =; arr.splice(4); //burilish; massivning bo'lishi: arr.splice(1,2); //burilish; massivning bo'lishi: arr.splice(1,1); //burilish; massiv bo'ladi: harakat qilib ko'ring »
Splice() usulining dastlabki ikkita argumenti massivning ko'rib chiqilishi kerak bo'lgan elementlarini belgilaydi. Ushbu ikkita argumentdan keyin birinchi argument tomonidan berilgan pozitsiyadan boshlab massivga kiritiladigan elementlarni ko'rsatadigan bir qator qo'shimcha argumentlar kelishi mumkin.
Var mevalar = ["apelsin", "olma"]; fruits.splice(2,0, "kavuni"); //Turn document.write(fruits); //bo'ldi ["apelsin", "olma", "kavuni"] var arr =; arr.splice(2,0, "a", "b"); //burilish; arr.splice (2,2,); //Burish ["a", "b"]; ,3,4,5 bo‘ldi] Sinab ko‘ring »
Iltimos, diqqat qiling, splice() usuli splice() usulini argument sifatida uzatiladigan kichikroq massiv elementlariga ajratmaydi. Usul kiritish uchun massivdan o'tganligi sababli, u massiv elementlarini emas, balki massivning o'zini kiritadi.
toString usuli
toString() usuli massiv elementlarini bo‘linuvchi belgi kabi buralib, qatorga joylashtiradi.
Var arr = ["Sut", "Non", "Jigar"]; var food = arr.toString(); hujjat.yozmoq(oziq-ovqat); // Sut, non, pechivo sinab ko'ring »
Hurmat bilan, yoga argumentlarsiz chaqirilganda, usul join() usuli bilan bir xil tartibda aylanadi.
indexOf va lastIndexOf
indexOf usuli element indeksini aylantiradi, qaysi qiymatning qiymati usulga argument sifatida uzatiladi.
indexOf() va lastIndexOf() usullarining sintaksisi:
im_array.indexOf(hoo elementi, indeks) im_array.lastIndexOf(hoo elementi, indeks)
Usulning birinchi argumenti indeksini bilish kerak bo'lgan elementning qiymatini, boshqa argument (zaruriy) qidiruv boshlanadigan indeksni belgilaydi. Agar bir xil yozuvlar mavjud bo'lsa, eng kichik (birinchi) indeks tanlanadi. Qaysi element, qaysi qiymat topilmasa, usul -1 ga teng. Mukammal moslikni topish uchun qidiruv usulidan foydalaning (===).
Var a =; a.indexOf(3); //Turn 2 a.indexOf(3,4); //Turn 6 a.indexOf(35); //Vernet -1: bunday qiymatlarga ega element yo'q a.indexOf(2); // bitta
lastIndexOf() usuli ham element indeksini aylantiradi, qaysi qiymatning qiymati argument sifatida usulga uzatiladi. LastIndexOf() usuli eng katta (qolgan) indeksni tanlashi muhim emas.
Var a =; a.lastIndexOf(3); //Turn 7 a.lastIndexOf(35); //Vernet -1: bunday qiymatlarga ega element yo'q a.lastIndexOf(2); // 6
Iterator usullari
p align="justify"> Quyida tasvirlangan usullar iteratorlardir. Hammasi joriy brauzerlar Massivlar bilan ishlash uchun elementlarni sanab o'tish va ular ustida vikonannya raznomanytnyh dyy uchun tan olingan usullar mavjud. Bu erda forEach(), map(), filter(), every(), some, reduce() va reduceRight() usullari keltirilgan.
0 dan uzunlik - 1 gacha bo'lgan massiv elementlarini takrorlang va agar element mavjud bo'lsa, uni qayta qo'ng'iroq qilish funktsiyasiga o'tkazing.
har biriga
Usul sintaksisi:
im_array.forEach(qayta qo'ng'iroq, thisArg)
Birinchi argument sifatida qayta qo'ng'iroq qilish funktsiyasi ko'rsatilgan, chunki forEach() usuli massivga teri elementini chaqiradi. Funktsiya-obrobnik deb ataladigan amalga oshirishni o'zingiz yozishingiz kerak. Chaqiriladigan funksiya uchta parametr uchun javob beradi: birinchi parametr argument sifatida qabul qilinadi - elementning massiv qiymati, ikkinchisi - element indeksi, uchinchisi - massivning o'zi. Biroq, massiv qiymatini o'zgartirish zarur bo'lganligi sababli, siz faqat bitta parametr bilan funksiya yozishingiz mumkin. Boshqa argument, thisArg (neo-til) buning qiymati sifatida qabul qilinadi.
var arr=; funktsiya foo(qiymat) (var summa = qiymat * bu; hujjatni qaytaring.write (sum + "
"); ) arr.forEach(foo, 5); //boshqa argument qiymat sifatida uzatiladi bu //uchta parametrli ilova var a = ; a.forEach(function(el, idx, a) ( document.write( " a["+idx+"] = "+el+" y ["+a+"]
"); ))) Sinab ko'ring »
filtr
Usul sintaksisi:
im_array.filter(qayta qo'ng'iroq, thisObject)
filter() usuli massivning o'sha elementlariga mos keladigan yangi massivni yaratadi va aylantiradi, buning uchun qayta qo'ng'iroq qilish funksiyalari rost bo'ladi.
Function isBig(element, index, array) ( //raqamlarni kattaroq yoki teng qilib 10 ga aylantiring (element >= 10); //element qiymati 10 dan katta yoki teng bo'lsa - true ni aylantiring) var filtrlangan = .filtr(isBig) ; //filtrlangan
xarita
map() usuli teri elementlari massivi uchun qayta qo‘ng‘iroq qilish (item, idx, ar) funksiyasi natijalari bilan qo‘shiladigan yangi massivni yaratadi va aylantiradi.
Var a =; var b = a.map(funksiya (element, idx, arr) ( element * elementni qaytarish; )); // b =
har bir va ba'zi
Every() usuli rostga aylanadi, shuning uchun massivdagi barcha elementlar uchun funksiya ko'rsatiladi, shuning uchun u bu qayta tekshirish uchun oqlanadi, rostga aylanadi.
some() usuli rost boʻladi, yaʼni funksiya qiymatlari uchun faqat bir marta qayta tekshirish soati bor yoki baʼzi elementlar rost boʻladi.
Var a =; a.every(funksiya(x) (qaytish x 10; )) //to'g'ri: bitta raqam > 10
kamaytirish va kamaytirish O'ng
Usullar sintaksisi:
im'ya_array.reduce(qayta qo'ng'iroq, initialValue) im'i_array.reduceRight(qayta qo'ng'iroq, initialValue)
Reduce() usuli ikki massiv qiymatini boʻlish uchun toʻxtash funksiyasiga (qayta qoʻngʻiroq) tayinlangan boʻlib, uning oraliq natijasidan oʻngdagi elementlar boʻylab aylanib oʻtadi.
Qayta qo'ng'iroq qilish funktsiyasi argumentlari: (PreviousValue, currentItem, indeks, massiv)

  • oldingiValue - qayta qo'ng'iroq qilish funktsiyasining natijasini aylantiring (xuddi shu oraliq natijada)

  • currentItem - massivga oqim elementi (elementlar chiziqlar bo'ylab chap-o'ng-qo'l bilan harakatlanadi)

  • indeks - oqim elementining indeksi

  • massiv - qayta ishlanadigan massiv

initialValue (boshlang'ich qiymat) - qayta qo'ng'iroq qilish funktsiyasining birinchi tsiklining birinchi argumenti sifatida g'olib chiqadigan ob'ekt. Ko‘rinishidan soddaroq bo‘lib, birinchi bo‘g‘indagi oldingi ma’noning ma’nosi kob ma’nosiga qaraganda ancha rivojlangan. Boshlang'ichValue bo'lmasa-da, u massivning birinchi elementi bilan bir xil va sanab boshqasidan boshlanadi:
Var a =; funktsiya foo(prevNum,curNum) ( sum = prevNum + curNum; alert(sum); qaytariladigan summa; ) var result = a.reduce(foo, 0); hujjat.yozish(natija); harakat qilib ko'ring
Rozberemo, dumbani qanday ishlash kerak. foo funksiyasining birinchi argumentlari:

  • prevNum = 0 (parchalar boshlang'ichValue - 0)

  • curNum = 1 (oqim elementi massivdagi birinchi element)

1 0 ga qo'shiladi. Natija (yig'indi: 1) qachon prevNum sifatida uzatiladi hujumkor ishga tushirish funktsiyalari. Va hozirgacha elementning qolgan qismiga etib bormadi. Aylanish natijasi yugurishning qolgan yig'indisidir, biz 15 (1+2+3+4+5) ni olamiz.
ReducingRight usuli kamaytirish usuli bilan bir xil ishlaydi, lekin o'ng-chap qo'l qatorida:
Var a = ["h", "o", "m", "e"]; funksiya satri(prevStr, curItem) ( prevStr + curItemni qaytarish; ) document.write(a.reduceRight(bar)); // emoh
DA javascript elementni massivga ko'rsatish usullarini kilkom mumkin. Ulardan oldin pop va shift usullarini ko'rish mumkin. Pop usuli birinchi elementni ko'radi berilgan massiv. Shift usuli berilgan massivdan qolgan elementni olib tashlaydi.
Siz ushbu massivdan barcha elementlarni olib tashlashni talab qiladigan asl 0 massivni kiritishingiz mumkin. Lekin qo'shiq elementini ko'rish uchun nima kerak?
Misol uchun:
Array_name.splice(indeks);
Massiv_nomi.oʻchirish
Bog'lanish usulini sozlashingiz mumkin. Win o'chirilgan elementlarning yangi qatorini aylantiradi. Va qoldirilgan elementlardan o'ch olish uchun boshoqlar qatori.
JavaScript-ni qo'shish usulini buzish va bir xil elementlarni olib tashlashning boshqa usullarini o'rganish uchun namoyishni ko'rib chiqing.
Splice usuli yordamida ma'lum bir elementning vizualizatsiyasini namoyish qilish
Ushbu demo versiyada raqamlar qatori mavjud. Massivning orqa tomonida beshta element qo'shiladi. Shundan so'ng, uchinchi elementni olib tashlash uchun splice usuli qo'llaniladi. Xuddi shu tarzda, JavaScript massivning birinchi elementini ko'rishi mumkin.
Elementi raqamli massiv Keyingi tartibda JavaScript-ni qo'shish usulini chaqirgandan so'ng, shu nuqtaga keling:
Splice usuli bilan JavaScript kodi:
Siz ikkita parametrli elementlar qatorini ko'rish uchun JavaScript-dan foydalanayotganimni aytdingiz. Birinchisi ko'rish kerak bo'lgan element indeksini bildiradi. Ikkinchisi - belgilangan kalitdan keyin ko'rish kerak bo'lgan elementlar soni.
Kelgusi demo versiyasi, agar biz boshqa parametrga ega bo'lsak, vypadokni ko'rsatadi.


Download 129.15 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling