Internet Derazalar Android
Kengaytirmoq

JavaScript misollarini bosing. Qatorlar

Ularning durang () Usul qatorning yangi uzunligiga bir yoki bir nechta elementlarni qo'shadi.

Ushbu interfaol misol uchun manba Github omborida saqlanadi. Agar siz "D" siz interfaol misollarni keltirib chiqarsangiz, iltimos, iltimos, iltimos, https://github.com/githAram.com/mdn/dithactiveexamellar va bizga tortishuv so'rovini yuboring.

Sintaksis

BRONE .PUT (element1 [, ... [, ElementN]])

Parametrlar.

Element. N. Massiv oxiriga qo'shadigan element (lar).

Qaytish qiymati.

Misollar.

Bir qatorga elementlarni qo'shish

Quyidagi kod ikkita elementni o'z ichiga olgan sport massivini yaratadi, so'ngra unga ikkita elementni qo'shadi. Umumiy o'zgaruvchi qatorning yangi uzunligini o'z ichiga oladi.

Sport \u003d ["futbol", "beysbol"] ni jamlashga imkon bering. Sport.push ("Futbol", "Futbol", "Beybbol", "Futbol", "Suzish "] Konsol.log (jami) // 4

Ikki qatorni birlashtirish.

Ushbu misol qo'llaniladi () barcha elementlarni ikkinchi qatordan itarish uchun foydalaning.

Qilish. emas. Agar ikkinchi qator (masalan, moreegs) bo'lsa, ushbu usuldan foydalaning (masalan, moreeglar) juda katta bo'lsa, chunki bitta funktsiyani olish amaliyotda cheklangan parametrlarning maksimal soni cheklangan. Qo'shimcha ma'lumot olish uchun murojaat qiling ().

Sequavoz \u003d ["Parssip", "kartoshka"] ni moreveGs \u003d//electer-ga aylantiring // Sabzavotlarga teng ("Selderey", "Getrey", "peretere", "perveyn" ga teng. Array.prototype.push.apply (Sabzavotlar, Morevegs) console.log (Sabzavotlar) // [ "pasternak", "Kartoshka", "Celery", "ko'k"]

Bir qatorda ob'ektdan foydalanish

Yuqorida aytib o'tilganidek, surish qasddan umumiydir va biz buni bizning foydanmizda ishlatishimiz mumkin. Arrrototepe.push ob'ektni juda yaxshi bajarishi mumkin, chunki bu misol keltiradi.

Shuni esda tutingki, biz ob'ektlar to'plamini saqlash uchun massiv yaratishni undiramiz. Buning o'rniga biz to'plamni ob'ektning o'zida saqlaymiz va massiv bilan shug'ullanmoqdamiz JavaScript bizga ijratsiya kontekstini o'rnatishga imkon berishiga yo'l qo'yadigan harakatlarimiz tufayli biz shunchaki ishlaydi.

Obj \u003d (uzunligi: 0, adlem: funktsiyasi (elem) (// ObJ.Llbang) avtomatik ravishda oshiriladi. .Push.call (bu, elem))) qo'shing Ba'zi bir bo'sh narsalar shunchaki tasvirlash uchun. ObJ.DDDELEM (()) obj.ddelem (()) konsol.log (obj.lbengengeng) // → 2

E'tibor bering, obj massiv emas bo'lsa-da, biz silayotib, biz haqiqiy massiv bilan shug'ullanayotgandek sayin sado berayotgandek, obj sekundini muvaffaqiyatli oshirib yuborganligi haqida unutmang.

Texnik xususiyatlar.

Spetsifikatsiya Holat. Sharh
Eciscript 3-nashri (ECMA-262) Standart Dastlabki ta'rif. JavaScript 1.2da amalga oshirildi.
ECSCRICT 5.1 (ECMA-262)
Standart
ECMASCRICR 2015 (6-nashr, ECMA-262)
Ushbu spetsifikatsiyada "Arrotopotepe.push" ta'rifi.
Standart
Eciscript so'nggi loyihasi (ECMA-262)
Ushbu spetsifikatsiyada "Arrotopotepe.push" ta'rifi.
Qoralama.

Brauzerning muvofiqligi

Ushbu sahifada moslik jadvali tuzilgan ma'lumotlardan yaratiladi. Agar siz "D" ma'lumotlariga hissa qo'shishni yoqtirsangiz, iltimos, HTTPS://github.com/brawser-bowser-cat-dadata-ni tekshiring va bizga tortishuv so'rovini yuboring.

Github-da moslik ma'lumotlarini yangilash

Ish stoli.MobilServer
Chrome.Chekka.Firefox.Internet Explorer.Opera.Safari.Android Warview.Android uchun xromAndroid uchun FirefoxAndroid uchun operaSafari iOS-da.Samsung InternetNode.J.
Durang.Chrome to'liq qo'llab-quvvatlash 1EDGE to'liq qo'llab-quvvatlash 12Firefox to'liq qo'llab-quvvatlash 1Ya'ni to'liq qo'llab-quvvatlash 5.5Opera to'liq qo'llab-quvvatlash HaSafari to'liq qo'llab-quvvatlash 1Warview Android-ni to'liq qo'llab-quvvatlash HaChrome Android to'liq qo'llab-quvvatlash 18Firefox Android-ni to'liq qo'llab-quvvatlash 4Opera Android to'liq qo'llab-quvvatlash HaSafari iOS to'liq qo'llab-quvvatlash 1Samsung Internet Android-ni to'liq qo'llab-quvvatlash Hanodods to'liq qo'llab-quvvatlash Ha

Usul durang () Bir yoki bir nechta elementlarni qatorning oxiriga qo'shadi va yangi qator uzunligini qaytaradi.

Sintaksis

BRONE .PUT (element1 [, ... [, ElementN]])

parametrlar

Element. N. Massiv oxiriga qo'shadigan elementlar.

Qaytish qiymati

Var Seet mahsulot \u003d ["Parssip", "kartoshka"]; Var Morevegs \u003d ["Selderey", "BETROUOT"]; // Ikkinchi qatorni birlashtirish // sabzavotlarga teng ("selderey", "pervok", "selewore"); Massiv.pototepe.push.ppush (sabzavotlar, moreveglar); Konsol.log (sabzavotlar); // ["Parssip", "kartoshka", "selderey", "BETROUOT"]

Bir qator shaklida ob'ektdan foydalanish

Yuqorida aytib o'tilganidek, qasddan itarish, biz uni bizning manfaatlarimizda ishlatishimiz mumkin. Arrrototepe.push ob'ektni a'lo darajada bajarishi mumkin, chunki u bu misolni ko'rsatadi. E'tibor bering: biz ob'ektlar to'plamini saqlash uchun qator yaratmaymiz. Buning o'rniga biz to'plamni ob'ektning o'zida saqlaymiz. , lekin biz iltimos qilamiz.

Var obj \u003d (Length: 0, AddElem:. Function Addlem (alamli) (// OBJ.Length avtomatik berilur // Har Time elementdir Kiritilgan .Push.call (bu, Alam););) // S Misol keltiring uchun, faqat ba'zi bir bo'sh Objects qo'shish "bo'lsin Obj.addelem (());. Obj.addelem (()); console.log (Obj.Length); // → 2

E'tibor bering, obj massiv bo'lmasa-da, Push usuli Obj ob'ekti qiymatini muvaffaqiyatli oshiramiz, go'yo biz haqiqiy massiv bilan shug'ullanamiz.

Xususiyatlar

Brauzer bilan moslik

O'ziga xos xususiyat Veb-ni Android Android uchun xrom EDGE MOBILE Android uchun Firefox Android operatsion tizimi IOS Safari. Samsung Onlayn do'kon

Stack ushbu turdagi o'zgarishlarning ushbu tarixini tavsiflash imkonini beradi. Ma'lumotlar tavsifi va algoritmlar dasturlashni ta'minlaydi. Stack funktsiyalar va parametrlarga havolalarni tashkil etish va havolalarni tashkil etish uchun asosdir. Stagsis va JavaScript semantictika tomonidan Push () va pop () massivlar usullari yordamida ma'nolarni boshqarishga va vaqt omilini hisobga olgan holda amalga oshirishga imkon beradi. Brauzer tili va uning mantig'i vaqt omilining ehtimoli aks ettirishi mumkin.

Ma'lumotlar massivi va uning shakllanishi mantig'i

Faqat o'zgaruvchini tasvirlab bering. Bir qator o'zgaruvchilarni yaratish juda oson. Ma'lumotdan foydalanadigan algoritm muammoning statik va oddiy echimidir. Klassik ma'lumotlar ishlari:

  • o'zgaruvchan tasvirlangan (yaratish);
  • qiymatni tayinlang;
  • qiymatni o'zgartirish;
  • o'zgaruvchini o'chirish.

Push () va pop () funktsiyalari o'zgaruvchilarning mohiyatini o'zgartirish va ulardan foydalanish imkonini beradi. Stackning g'oyasi uning "tug'ilishi", ammo b brauzer tili sifatida JS xususiyatlari o'zgarmadi va zamonaviy dasturlash kontseptsiyasi vaqt omilini hisobga olish va ushbu dinamikani hisobga olishni hisobga olishni va ushbu dinamikani hisobga olishni hisobga olsak

Qiymat funktsiyasi ") - massiv oxirigacha biror narsa qo'shing. Massivning oxirgi elementini olish uchun. Push / Pop kontekstidagi ko'rsatkich, pushtli elementni olib tashlashda va oxirgi marta ko'rsatuvchi element va oxirgi element - bu operatsiya natijasidir.

Plitalar to'plami - JavaScript-dagi stekning an'anaviy tavsifi yangi ahamiyatga ega. Har doim o'zgaruvchini yarating - bu qator. Aslida massivlar o'zgaruvchilarning kombinatsiyasi, ammo o'zgaruvchini massiv sifatida hisobga olgan holda, siz uning qiymatidagi o'zgarishlar dinamikasiga boshqacha nazar tashlay olasiz.

Qiymatlar bo'yicha harakat

Stackning mohiyati - oxirgi marta paydo bo'ldi, birinchi bo'ldi. Siz ushbu buyurtmadan tashqarida qiymatni olib tashlay olmaysiz. Ushbu qoidaga qat'iy rioya qilish, butun massivda butun massivning qiymatlarini hisobga olgan holda, siz ushbu o'zgaruvchining qiymatlarini o'z vaqtida olishingiz mumkin.

Ushbu misolda JS Array.push (...) qiymatlari - bu boshqa harakatlar ketma-ketligi, JS Arra Pop () qiymatlarini qazib olish yana bir ketma-ketlikdir. Ikkala variant ham o'zaro bog'liqdir. Bu shuni anglatadiki, faol element o'z qiymatini nafaqat vaqt bo'yicha, balki uning o'zgarishi mantiqati bilan ham o'zgartiradi.

Rekurziya va dinamika

Agar funktsiya o'zini o'zi keltirib chiqarishi va maqsadga muvofiq bo'lsa, bu to'liq funktsiyalardir. Oddiy misol - jadval. Stolda boshqa jadvallar bo'lishi mumkin. Va har bir jadval - chiziqlar, ustunlar va hujayralar. Har bir katakda stol bo'lishi mumkin. Bir qator bir hujayralar yoki ustun tomonidan bir xil katakka birlashtirilishi mumkin, bunda stol joylashgan bo'lishi mumkin. Hujayrada joylashgan jadvalda ikki va undan ortiq stolli hujayra bo'lishi mumkin.

Klassik uslubdagi dasturiy uslubni amalga oshirish deyarli imkonsizdir, ammo rekurvlanganda - elementar. Agar ish algoritmining funktsional imkoniyatlari jadval bilan har qanday katakchalar ichida o'zingizni amalga oshirishga imkon beradi, bu JS massivini itaradi. JavaScript-da, ushbu "diqqat markazida" alohida ma'noga ega. Jadvallar - bu maxsus dasturlar. Sahifa daraxti (dom) bu sahifadagi ish.

DOM elementlarida (sahifa teglari) ishlov beruvchilar osilgan. Bunday ishlov beruvchida bir marta, u bir necha bor o'zgarishi mumkin bo'lgan darajada boshqacha variant. Barcha topshiriqlar kontekstida barcha sahifa elementlari, vaqtni spiker olinadi.

Push / POP va rekorsiya sahifaning sahifasi mantiqiy g'oyasi: hozirgi vaziyatda talab qilinadigan vaziyatda har narsa o'zgaradi va tashrif buyuruvchilarning harakatlarini izchil o'rganishi shaklida oldindan dasturlatilmagan.

Massarivlar qator dizayner tomonidan taqdim etilgan turli xil usullar bilan foydalanish mumkin.

Pop / it va smift / smena usullari

Pop () va pusht () usullarini ko'rib chiqing. Ushbu usullar to'plamlar bilan birga massalar bilan ishlash imkonini beradi. Stack - bu elementlarga kiradigan ma'lumotlar tuzilishi - bu hayotga kiradigan elementlar (inglizcha. Avvalo, avvalgisi - birinchi chapga). Stackning ishlash printsipi plitalar to'plami bilan taqqoslash mumkin: ikkinchisini tepaga olib chiqish uchun, siz yuqori qismini olib tashlashingiz kerak. Qanday qilib u rasmda tasvirlangan:

Shunday qilib, keling, Push () va pop () usullarini ko'rib chiqamiz. Push () usuli massiv oxirigacha bir yoki bir nechta yangi elementlarni qo'shadi va uni yangi uzunlikni qaytaradi. Pop () usul massivning oxirgi elementini o'chiradi, qator uzunligini pasaytiradi va Qiyomat qiymatini qaytaradi. Ushbu ushbu usullarning ikkalasi ham massivning o'rnini o'zgartirishi va uning o'zgartirilgan nusxasini yaratishga e'tibor berishga arziydi.

Var Foo \u003d; // foo: foo.push (1,2); // foo: 2 foo.popni qaytaradi (); // foo: 2 foo.pushni qaytaradi (3); // foo: 2 foo.popni qaytaradi (); // foo: 3 foo.pushni qaytaradi (); // foo:] 2 foo.popni qaytaradi () // FOO: FOO.POP () ni qaytaradi; // foo: 1 varaqani qaytaradi \u003d ["Nirek", "Bananas", "Olma"]; Var tanlangan \u003d meva (); Hujjatlar.write ("Siz mening" tanlangan + tanlanganman); Sinab ko'rmoq

SHIFT () va SECIFL () Ba'zi usullar, shuningdek, qatorning boshida elementlarni kiritish va olib tashlash, ular boshqa elementlarni kiritish va olib tashlash (). Ishoninchi () usuli mavjud elementlarni yangi elementlar uchun joylashtirish uchun mavjud elementlarni ko'rsatadi, bir yoki bir nechta elementlarni qatoriga qo'shadi va massivning yangi uzunligini qaytaradi. SHIFT () usuli massivning birinchi elementini o'chiradi va keyinchalik bo'sh joyni egallab olish uchun barcha elementlarni o'zgartirib, qiymatini qaytaradi.

Var f \u003d; // f: f.unshift (1); // F: Qaytish: 1 F.UNVift (22); // f: Qaytish: 2 F.Shift (); // F: Qaytadi: 22 F.Unshift (3,); // f :, 1] Qaytish: 3 f.shift (); // f: [, 1] Qaytish: 3 F.Shift (); // F: Qaytish: F.Shift (); // F: Qaytish: 1

Qo'shilish usuli

Array.join () usul bir qatorda qator elementlarni birlashtirish uchun ishlatiladi. Usul o'z elementlarini satrda ajratish uchun ishlatiladigan ixtiyoriy torli argumentga o'tkazilishi mumkin. Agar ajratuvchi ko'rsatilmagan bo'lsa, unda usulni chaqirish paytida standart belgi vergul bo'ladi.

Var A \u003d ["shamol", "Yomg'ir", "Olov"]; Var MyVAR1 \u003d A.Join (); // "Shamol, yomg'ir, olov" var Myvasar2 \u003d A.Join (","); // "Shamol, yomg'ir, olov" var Myvart3 \u003d A.Join ("+"); // "shamol + yomg'ir + yomg'ir" hujjati.write (Myvasar1 + »
"+ Myvasar2 +"
"+ Myvart3]; urinib ko'ring"

Array () usul satrni parchalash orqali qatorni chiqaradigan satr () usulini yaratadigan satr () usulini yaratadi.

Teskari usul

Massiv () usuli - bu elementlarning tartibini teskari tomonga yo'naltiradi va tartibli elementlar bilan bir qatorni qaytaradi. Ushbu usul qayta tartiblangan elementlar bilan yangi qator yaratmaydi va ularni mavjud qatorda qayta hisoblaydi.

Var Myrar \u003d ["bitta", "ikkita", "uchta"]; Hujjatlar.write (Myarr.revskring ()); Sinab ko'rmoq

Muvofiq usul

Array.concat () usul yaratadi va manbali massiv elementlarini o'z ichiga olgan yangi qatorni yaratadi va mos keladigan usul elementlarini o'z ichiga oladi, ularda kontsentratsiya () usul bilan uzatiladigan barcha dalillarning qiymatlari bilan izchil to'ldiriladi. Agar ushbu dalillarning o'zi massiv bo'lsa, unda barcha elementlar qo'shiladi. Bir qator nomlar argument sifatida ishlatiladi va ularning elementlari birlashtirilishi kerak bo'lgan tartibda ko'rsatilgan.

Var a \u003d; A.Concat (4, 5) // A.Concatni qaytaradi (); // bir xil - A.Concat (,) // qaytish

Saralash usuli

Array.sort () usuli massiv elementlarini tartiblaydi va tartiblangan qatorni qaytaradi. Agar saralash usuli argumentsiz chaqirilsa, u alifbo tartibidagi qator elementlarini ajratadi (vaqtincha ularni taqqoslash uchun satrlarga aylantiradi). Argument sifatida, elementlarni saralash tartibini belgilaydigan taqqoslash funktsiyasini olishi mumkin.

Var A \u003d ["Kiwi", "apelsin", "Noks"]; A.Sort (); var s \u003d a.join (",»); // apelsin, nok, kivi hujjati (lar); // raqamlar bilan masalani Myrar \u003d; Myarr.Sort (); Hujjatlar.write (Myrr); // 1,10,2 urinib ko'ring "

Ehtimol siz biroz boshqacha natija ko'rishni kutgan raqamlarni saralashdan. Bunday saralash tartib () usuli ularni satrlarga aylantirib tartiblaydi. Shuning uchun, ularning buyurtmalari satr tomonidan olinadi - "10"

Alifbodan boshqa har qanday tartibni tartiblash uchun siz tartibni taqqoslash funktsiyasi argument sifatida o'tkazishingiz mumkin. Biroq, shuni ta'kidlash kerakki, taqqoslash funktsiyasi yozilishi kerak. Ushbu xususiyat ikkita parametrga ega bo'lishi kerak, chunki u ikkita argumentning qaysi biri saralangan ro'yxatda bo'lishi kerak. Buni aniqlash va yozishni osonlashtirish uchun elementlar tartibi aniqlanadi:

  • Agar birinchi tortishuv ikkinchi dalildan oldin bo'lsa, taqqoslash funktsiyasi salbiy sonni qaytaradi (agar a
  • Agar birinchi argument ikkinchi dalilni kuzatishi kerak bo'lsa, unda taqqoslash funktsiyasi ijobiy raqamni qaytaradi (agar a\u003e b)
  • Agar ikkita qiymatga teng bo'lsa (i.e., ularning joylashuvining tartibi muhim emas), taqqoslash funktsiyasi 0 (agar \u003d\u003d B)

Taqqoslash uchun, funktsiya argumentlar sifatida massivning elementlaridan foydalanadi:

Funktsiya foo (A, B) (//) 1-ni tekshirish funktsiyasini aniqlang; 0; // Agar a \u003d\u003d b) a \u003d/; A.Sort (FOO); // faqat hujjatning nomi. Funktsiya Funktsiya argument sifatida (A.Join (",»)); // Bundan tashqari, qisqa vaqt ichida yana bir \u003d; A.Sort (funktsiya (A, B) (// Anonim funktsiyasidan foydalanish A - b; // funktsiya 0 qiymatini qaytaradi); Hujjatlar.write (a); // 1,2,5,10 urinib ko'ring

Birinchi yozuv, bu qanday ishlashini tushunish osonroq, shuning uchun bu misolda yozilgan. Ikkinchi parchaning anonim funktsiyasidan foydalanish qanchalik qulayligini qayd eting. U faqat bir marta chaqiriladi, shuning uchun unga ism berishning hojati yo'q.

Eslatma: Agar massivda (aniqlanmagan) noaniq elementlar bo'lsa, ular qator oxiriga o'tadilar.

Tishish usuli

Belgilangan maydonni massivdan nusxalash uchun massiv () usul ishlatiladi va nusxa ko'chirilgan elementlarni o'z ichiga olgan yangi qatorni qaytaradi. Manba massivi o'zgarmaydi.

Usul sintaksis:

Ism_massiva.slice (boshlanadi, tugaydi);

Pochta_name-ni yangi massivlar to'plamini ma'lum bir to'plamni olishingiz kerak bo'lgan ushbu qatorning nomi bilan almashtirilishi kerak. Usul qatorning qaytarilgan hududining boshlanishini va oxirini aniqlaydigan ikkita dalilni oladi. Ushbu usul massivlar qismini oxirigacha tugashdan boshlanadi. Agar bitta argument ko'rsatilsa, qaytarilgan massivlar belgilangan joyning barcha elementlaridan qator oxirigacha bo'ladi. Siz salbiy ko'rsatkichlardan foydalanishingiz mumkin - ular qator oxirida hisobga olinadi.

Var Arc \u003d; BRE.SLICE (0.3); // Arrans Cent.Slice (3); // Arrans Cent.Slice (1, -1); // Arrans Cent.Slice (-3, -2); // qaytish

Splitsion usuli

Massiv.splits () usuli - bu massivlar bilan ishlash uchun universal usul. Bu massivni o'zgartiradi va tilim () va kontratlar () usullari kabi yangi o'zgartirilgan qatorni qaytarmaydi. Tarqalish usuli massivdan elementlarni o'chirishi, yangi elementlarni kiritishi, elementlarni almashtirish mumkin, bir vaqtning o'zida. Agar biron bir narsa olib tashlanmagan bo'lsa, u uzoq elementlardan iborat qatorni qaytaradi, agar hech bir narsa bo'shatilmagan bo'lsa, bo'sh massivni qaytaradi.

Usul sintaksis:

Lassiva ismi.Splice (indeks, hisoblash, elem1, ... ...

Birinchi dalillar elementlarni kiritish yoki olib tashlash massividagi indeksni ko'rsatadi. Ikkinchi dalil, agar ikkinchi dalil 0 bo'lsa, avvalgisidan ko'rsatilgan indeksdan boshlab qatordan o'chirilishi kerak bo'lgan elementlar sonini belgilaydi, so'ngra elementlar o'chirilmaydi. Agar ikkinchi argument o'chirilgan bo'lsa, belgilangan indeksdan boshlab massiv oxirigacha bo'lgan barcha elementlar olib tashlanadi. Salbiy pozitsiyaning raqamidan foydalanganda, elementlarning hisob-kitobi massiv oxirigacha bo'ladi.

Var meva \u003d ["apelsinlar", "Olma", "Nokuslar", "uzum"]; var o'chirildi \u003d mevalar.splekt (2.2); // qaytish ["Nokuslar", "uzum"] Hujjatlar.write.write.write (o'chirildi); Var Arc \u003d; CR.Split (4); // qaytish; Massiv bo'ldi: CR.Splekt (1,2); // qaytish; Bir qator bo'ldi: CR.Splekt (1,1); // qaytish; Massiv bo'ldi: urinib ko'ring

Splits () usulining birinchi ikkita dalillari olib tashlanishi kerak bo'lgan elementlarni o'rnatadi. Ushbu ikki dalillar uchun birinchi dalil bo'yicha belgilangan pozitsiyadan boshlab qatorga kiritiladigan elementlarni ko'rsatuvchi qo'shimcha dalillar uchun.

Var meva \u003d ["apelsin", "Olma"]; mevalar.splekt (2.0, "tarvuzi"); // Hujjatni qaytaradi. Lumpits (mevalar); // ["apelsin", "Olma", "DAVRILONLAR"] Var Bet \u003d; CR.Splits (2.0, "A", "B"); // qaytish; BREST (2.2,) ga aylandi (2.2,); // ["A", "B"] ni qaytaradi; Bu, 3,4,5] urinib ko'ring "

Bunga e'tibor berishga arziydi, kontrastdan farqli o'laroq, sporit () usuli armumlar sifatida uzatiladigan massivlarning alohida elementlariga bo'linmaydi. Ya'ni, agar qator qo'yish uchun massiv bo'lsa, u ushbu massivning elementlarini emas, balki qatorni o'z-o'zidan joylashtirsa.

Tostring usuli

Tostring () usuli Split belgisi sifatida vergul yordamida satrda qator elementlarini o'zgartiradi.

Var Cent \u003d ["Sut", "Non", "Cookie fayllari"]; var oziq-ovqat \u003d Arr.tostring (); Hujjatlar.write (oziq-ovqat); // Sut, non, cookie fayllari sinab ko'ring "

Eslatma, usul uni tortishsiz deb atash paytida bir xil satrni qo'shilish () usuli sifatida qaytaradi.

indeksof va o'tincexof

Indekslarning usuli element ko'rsatkichini qaytaradi, uning qiymati bahs sifatida uzatiladigan qiymatga teng.

Sintaksis usullari indeksof () va oxirgi bosqich:

Label_nameindexof_name (Skeeping_element, indeks) nomi MMASIVA.Lastindexof (istalgan_element, indeks)

Usulning birinchi argumenti siz topishingiz kerak bo'lgan elementning qiymatini ko'rsatadi, ikkinchi dalil (ixtiyoriy), qidiruv boshlanadigan indeksni ko'rsatadi. Agar bir xil bo'lsa, eng kichik (birinchi) indeksi tanlangan bo'lsa. Agar kerakli qiymat bilan element topilmasa, usul qaytariladi -1. Qidiruv usuli ichida qat'iy taqqoslash (\u003d\u003d\u003d).

Var a \u003d; A.indexof (3); // 2 a.indexof (3.4) ni qaytaradi; // 6 a.indexof (35) ni qaytaradi; // qaytish -1: A.indexof (2) ning bunday qiymati bo'lmagan element yo'q; // biri

Finindexex () usuli, shuningdek, elementning qiymati dalil sifatida uzatiladigan qiymatga teng keladigan element ko'rsatkichini qaytaradi. Faqatgina farq shundaki, flyindexex () usuli eng katta (oxirgi) indeksni tanlaydi.

Var a \u003d; A.Lastindexof (3); // 7 A.Lastindexof (35) ni qaytaradi; // qaytish -1: A.Lastindexof (2) ning bunday qiymati bilan hech qanday element yo'q; // 6.

ITERATORLARNING MASHINALARI

Quyida tavsiflangan usullar iteratordir. Massivlar bilan ishlash uchun barcha zamonaviy brauzerlarda elementlarning aralashishi va ularda turli harakatlarni amalga oshirish uchun mo'ljallangan usullar mavjud. Bular isitma (), xarita (), filtr (), har bir (), ba'zi (), qisqartiruvchi ().

Ular 0 dan uzungacha bo'lgan massiv elementlarini - 1 dan uzunroqgacha - 1 gacha, agar buyum mavjud bo'lsa, uni CallBockess protsessor-funktsiyasiga o'tkazadi.

har biriga.

Usul sintaksis:

Ism_Massiva.formean (Callback, bu)

Birinchi dalil sifatida, Callback Funktsiyadan voz kechish () usulida massivning har bir elementini talab qiladi. Belgilangan ishlov beruvchini joriy qilish yozilishi kerak. Olingan funktsiya uchta parametr bo'lishi kerak: birinchi parametr argument sifatida oladi - massiv elementi qiymati, ikkinchisi - bu elementning indeksi, uchinchi - massivning o'zi. Ammo, agar siz faqat massiv elementlarining qiymatlarini ishlatishingiz kerak bo'lsa, siz faqat bitta parametr bilan funktsiyani yozishingiz mumkin. Ikkinchi dalil - bu (ixtiyoriy) bu qiymati sifatida o'tkaziladi.

Var Arc \u003d; Funktsiya Foo (qiymat) (Var Sum \u003d Bu; qaytaruvchi hujjat .Write (sum + »
");) Arranlash (foo, 5); // Ikkinchi argumenti uchta parametr varaqasi sifatida o'tkaziladi. A.Forife (el, IDX, A) (Hujjatlar) .Write ("A [" + ID / "] \u003d" + A + "] da [" + A + "]
");); Urinib ko'ring

filtr.

Usul sintaksis:

Mmaassiv ismli ismi.filter (Callback, ushbuOBaz)

Filtr () usuli yangi mascayni yaratadi va qaytaradi, bu Callback qo'ng'irog'i haqiqatni qaytaradigan qatorning elementlarini o'z ichiga oladi.

Funktsiya ISBig (element, indeks, massiv) (// raqamlardan katta yoki unga teng bo'lgan raqamlarni qaytaradi (element\u003e \u003d 10); // 10 ga teng bo'lsa, agar element 100 ga teng bo'lsa Haqiqiy) var filtr \u003d .Filter (ISBIG); // filtrlanadi.

xaritasi

Xarita () usulida Comey Callback funktsiyasini (IDX, AR) qo'ng'iroq qilishdan iborat yangi massivni yaratadi va qaytaradi.

Var a \u003d; Var b \u003d a.Map (funktsiya (element, IDX, BRT) (qaytarish * element;))); // b \u003d

har bir va ba'zilari

Har bir () usuli har qanday qator elementlari uchun rostni qaytaradi, ularni tekshirish uchun ishlatiladigan belgilangan funktsiya haqiqiy bo'ladi.

Ba'zi bir usul () usuli to'g'ri keladi, agar sinov paytida, bir yoki bir nechta element belgilangan funktsiyaga qaytariladi.

Var a \u003d; A.Ihery (x) (x 10; ni qaytarish) // TRUE: bitta raqam\u003e 10

kamaytirish va qisqartirish

Usul sintaksis:

Match_RreDucuce_name (Callback, boshlang'ichvalue) nomi Lassiva.redrostright (Callback, boshlang'ichvalent)

Kamayish () usuli belgilangan natijani o'ng tomonga yo'naltirilgan holda, chapdan o'ngga, chapdan o'ngga burab, chapdan o'ngga burab, chap tomondan o'ngga burilishni amalga oshiradi.

CallBock Funktsiya Maqolalar: Oldingivalue, Amaliyot, indeksi, massiv)

  • oldingivaloq - Qayta tiklash natijasi Callback xususiyatlari (bu oraliq natijasi)
  • amaliyot - Mavraning joriy elementi (elementlar chap tomonda)
  • indeks - joriy element indeksi
  • massiv - tartiblangan

boshlang'ichValualue (boshlang'ich qiymat) - bu CallBOJ funktsiyasining birinchi chaqirig'i uchun birinchi dalil sifatida ishlatiladigan ob'ekt. Oddiy qilib aytganda, avvalgi qo'ng'iroqning avvalgi qiymati boshlang'ichvalualuedir. Agar boshlang'ichValue bo'lmasa, u massivning birinchi elementiga teng va büstü ikkinchisidan boshlanadi:

Var a \u003d; Funktsiya foo (Prinnum, Curnum) (Sum \u003d Prinnum + Curnum; ogohlantirish (sum); Qaytish summasi \u003d a.RoRucu (Foo, 0); Hujjatlar.write (natija); Sinab ko'rmoq

Ushbu misol qanday ishlashini tahlil qilamiz. Fo funktsiyasining birinchi dalillari:

  • oldindan \u003d 0 (boshlang'ichvalena - 0)
  • curnum \u003d 1 (joriy element - massivning 1-element)

1. Ushbu natija (summa: 1) qo'shilgan 1. Ushbu natija keyingi funktsiya boshlanganda, oldindan to'lanadi. Va shu qadar oxirgi elementga etib borguncha. Qaytarilgan natijasi - oxirgi ishga tushirish summasi 15 (1 + 2 + 3 + 5) bo'ladi.

Raqamor oqqush usulida xuddi qisqarish usuliga o'xshash ishlaydi, ammo o'ng chap tomonda massivda ishlaydi:

Var A \u003d ["H", "O", "M", "E"]; Funktsiya bar (oldingi qism) (A.EtpRT + kursiem;) hujjat.write.write (a.Redrostortont (bar)); // EMOH.

JavaScript-da. Bu erda biz massivlar bilan tanishishni davom ettiramiz. Keling, uzunlikdagi mulk haqida gapiraylik - qanday qilib qanday topish mumkin: Qancha elementlar qatorida qator mavjud?

O'rgatmoq elementlarni qo'shing Massivning boshlanishi va oxiri - bu jihatdan yaxshi va mos ravishda usullar.

Shuningdek, smenali va pop usullaridan foydalanish elementlarni olib tashlang Shuningdek, massivning boshidan va oxiridan ham!

Aslida, massiv - bu ma'lum bir elementlardan iborat ma'lum bir ob'ekt.

Uzoq mulki massivdagi elementlar sonini aniqlashga imkon beradi.

Masalan, so'nggi mavzu bo'yicha biz bilan tanish bo'lgan haftaning etti kun o'tsin.

Keling, o'rganib, qatordagi qator elementlarini ekranda olib boraylik. Buning uchun siz quyidagi misolda ko'rganingiz uchun kerak bo'lganingiz uchun kerak bo'lganingiz uchun kerak bo'lganingiz uchun, uning qiymati, biz uchun qiziqish massividir, buning o'z navbatida, o'z navbatida, uzunlikdagi mulk bilan ko'rsatilgan.

array.length - bunday kod bizga massiv elementlari sonini beradi (Qayerda massiv. - Arsey nomi) .

Shunday qilib, sobit o'zgaruvchisida biz qator elementlar soniga teng bo'lgan raqamni joylashtirdik.

Bu uzoq mulk qanday ishlaydi.

Patter usuli - massiv oxirigacha element qo'shadi.

Elementlarni qo'shish usullari bilan ishlashni boshlash uchun siz biron bir qatorni yaratishingiz kerak.

Quyida men bir nechta do'stlar - do'stlar yaratdim.

Endi biz bir narsani qo'shishimiz kerak, ya'ni massiv oxirida yana bir ism.

Buning uchun, bosma usuli bor - u massiv oxirigacha element qo'shadi. Bu quyidagicha ko'rinadi:

Nasta, Grigori, Vyacheslav, Alexey, Yakov

Yakov

Yuqoridagi misolda Push usulini tekshirish uchun biz uzoq vaqt davomida do'stlar qatoridagi massivlarning elementlarini olib keldik - ular 5 yoshda edilar massivning oxirgi elementi .

Endi element massiv oxiriga qo'shilganligiga ishonch hosil qilishingiz mumkin!

Ishoninchi usul - element qo'shadi massivning yuqori qismiga.

Bu erda biz do'stlar qatoriga qaytamiz.

Endi biz bir qatorni massivning boshiga qo'shishimiz kerak. Buning uchun muqarrik usul mavjud.

Massivdagi elementlar soni 5

Boris, Nasta, Grigoriy, Vyacheslav, Alexey

Boris.

Kuttrif usulining ishlashini tekshirish uchun biz uzoq vaqt davomida do'stlar qatoridagi massiv elementlarining sonini bekor qildik, so'ngra barcha ari arizalar qatorini olib chiqdik arrayning birinchi elementi (Shuni eslatib o'tamizki, massivning elementlarini raqamlash 0 bilan boshlanadi) .

Endi, siz ko'rib turganingizdek, elementning boshiga element qo'shildi!

Pop usuli - olib tashlanadi massivdan oxirgi element.

Va yana biz "do'stlar" qatorida ishlaymiz

Pop usulidan foydalanish - massivdan oxirgi elementni olib tashlang:

Nasta, Grigori, Vyacheslav

Vyacheslav

Pop usulining ravshanligi uchun biz yana uzunlikdagi massiv elementlari sonini yana chiqaramiz, shunda butun do'stlar qatorida masofadan oxirgi elementsiz namoyish etildi.

Shuningdek, olindi oxirgi element Yangi qabul qilingan massiv . Uzoq elementni uzunlikdagi mulk yordamida ko'rsatish uchun biz massivda qolgan elementlarning umumiy sonini (3) aniqladik. Shunday qilib, biz massivning oxirgi elementini 2.-raqamga olib chiqdik. element, chunki massivda raqamlar 0 bilan boshlanadi !!!

Shift usuli - olib tashlanadi arrayning birinchi elementi.

Biz avvalgidek, "do'stlar" qatorida

Shift usulidan foydalanish - bir qatordan birinchi elementni olib tashlang:

Massivdagi elementlar soni 3

Gregori, Vyacheslav, Alexey

Grigoriya

Va nihoyat, smenali usul ishini tekshirish uchun biz uzunlikdagi mulk yordamida yangi olingan qatorning elementlarini olib keldik, so'ngra boshqa bir qator do'stlarni - uzoq birinchi elementsiz olib keldi.

Shuningdek, olindi arrayning birinchi elementi. Massivda raqamlash 0 bilan boshlanadi !!!

Sizga va o'zingiz uchun sizga eslatma beraman qiziqarli lahzalar Bu maqola!

Massivning oxirgi elementining sonini / indeksini aniqlash uchun sizga o'z buyumlari orasidan kerak (i.e. tomonidan) Bittasini olib tashlang !!!

Biz bu bilan mavzu punktida ishladik.

Ushbu lahzani tasvirlash uchun yaxshi variant, biz haftaning etti kunlik maskanida bo'lgan mavzu nuqtai nazaridan misolni davom ettiradi.

Kunlardagi elementlar soni 7 ni tashkil qiladi

Arrayning oxirgi elementi soni 6 raqamli

Shunday qilib, shu misol bilan biz yana bir bor ta'kidladik massivda raqamlash 0 dan boshlanadi. Va bu misoldan ko'rinib turibdiki, massivning 7-elementining soni - 6 raqami.

Ushbu mavzu oxirida men sizning uy vazifangizni bajaraman. Va yana uni o'zingiz hal qilishga harakat qiling.

Uy vazifasi ... va elementlarni qo'shish uchun elementlarni qo'shish Quyidagi tarkibga ega:

1. Meva bilan qatorni yarating: to'q sariq, banan, nok.
2. Ekranda sinov, hozirda massivda qancha meva berasiz.
3. Oldingi darsda o'rganilgan usullardan foydalanish uchun massiv oxiri - Apple va ananasni va massivning boshiga ikkita meva qo'shing, massivning boshiga - greyfurt.
4. Hozirda massivda mevangiz bor.
5. Oldingi darsda o'rganilgan usullardan foydalanish, massivdan oxirgi va birinchi elementni olib tashlang.
6. Massivda qancha vaqt davomida mevangiz bor.

Apelsin, banan, nok

Endi mening savatimda 3 ta meva

Greyfurt, to'q sariq, banan, nok, olma, ananas

Endi mening savatimda 6 ta meva

Apelsin, banan, nok, olma

Endi mening savatimda 4 ta meva