3 Perkara yang Anda Tidak Tahu Mengenai Arrays JavaScript
Arrays adalah ciri yang digunakan secara meluas dalam bahasa pengaturcaraan; mereka adalah pembolehubah khas yang boleh digunakan untuk menyimpan pelbagai nilai pada masa yang sama. Bagaimanapun, ketika datang ke JavaScript, semudah itu untuk belajar, selalu ada lebih banyak untuk diterokai.
Di dalam siaran ini, kami akan melihat tiga kurang penting lagi ciri penting dalam JavaScript array yang mungkin tidak diketahui sebelum ini.
1. Tambah Kustom Custom untuk Arrays
Sekiranya anda ingin menjelajah Internet mencari takrifan lengkap mengenai JavaScript JavaScript, anda akan mendapati bahawa hampir setiap sumber tanpa fail akan menyenaraikan array seperti apa benar-benar adalah, sebuah objek.
Sebenarnya, hampir semua yang kita berurusan dalam JavaScript akan menjadi objek. Terdapat dua jenis jenis data dalam JavaScript, primitif dan objek, tetapi primitif sentiasa dibungkus di dalam objek.
Array, Fungsi, Tarikh, dll objek JavaScript yang telah ditetapkan yang mempunyai kaedah, sifat dan sintaks tersendiri.
Array JavaScript boleh dimiliki tiga jenis hartanah yang berlainan:
- Indeks pelbagai juga sifatnya
- Hartanah terbina dalam
- Ciri tersuai anda boleh menambah sendiri
Dua yang pertama lebih dikenali, anda boleh menggunakannya setiap hari, tapi mari lihat mereka dengan cepat sebelum melompat ke dalam bagaimana anda boleh menambah harta tersendiri anda kepada pelbagai.
Indeks sebagai Hartanah
Array JavaScript menggunakan sintaks pendakap persegi, seperti var ary = ["orange", "apple", "lychee"];
.
Indeks elemen array pada asasnya hartanah Dimanakah nama hartanah adalah sentiasa integer bukan negatif.
The pasangan elemen indeks Arahan adalah serupa dengan pasangan nilai utama objek.
Indeks adalah ciri unik objek Array, dan tidak seperti ciri terbina dalam yang lain, mereka boleh ditetapkan dengan sintaks kurungan sahaja, seperti ary [3] = "pic";
.
Hartanah yang Dibina
Array juga ada ciri terbina dalam, seperti array.length
. The panjang
harta membawa nilai integer itu menandakan panjang array.
Umumnya, sifat terbina dalam boleh didapati dengan mudah dalam objek JavaScript yang telah ditetapkan seperti array. Bersama dengan kaedah terbina dalam, mereka membantu menyesuaikan objek generik supaya objek sesuai untuk keperluan yang berbeza.
Ciri terbina dalam boleh diakses dengan sama ada object.key
atau objek ["kunci"]
sintaks. Jadi anda juga boleh menulis ary ["panjang"]
untuk mengakses panjang array.
Buat Kustom Custom untuk Objek Array
Sekarang, mari cakap menambah sifat anda sendiri untuk tatasusunan. Array adalah objek yang telah dipratentukan yang menyimpan pelbagai jenis nilai pada indeks yang berbeza.
Selalunya tidak banyak keperluan untuk menambah sifat tersuai ke array; ini adalah salah satu sebab pemula biasanya tidak diajar mengenai ciri ini. Malah, jika anda ingin merawat array seperti objek normal dengan menambah pasangan nilai utama kepadanya, anda mungkin juga gunakan objek biasa untuk tujuan anda. Tetapi, ini tidak bermakna bahawa tidak ada kes-kes khas di mana anda boleh menggunakan hakikat bahawa tatasusunan adalah objek, dengan menambahkan satu atau lebih sifat tersuai kepadanya.
Sebagai contoh, anda boleh menambah harta tersuai ke array itu mengenal pasti "jenis" atau "kelas" unsur-unsurnya, seperti yang anda boleh lihat dalam contoh di bawah.
var ary = ["orange", "apple", "lychee"]; ary.itemClass = "buah"; console.log (ary + "ada" + ary.itemClass); // "oren, epal, lychee adalah buah-buahan"
Perhatikan bahawa harta tersuai yang anda tambah pada array adalah enumerable, yang bermaksud ia akan dijemput oleh gelung seperti untuk ... dalam
pernyataan.
2. Gelung melalui Elemen Array
Anda mungkin berkata "Saya tahu sudah", yang kemungkinan besar benar, anda sudah tahu bagaimana untuk melewati elemen array. Tetapi ia juga benar bahawa mengatakan "gelung melalui elemen pelbagai" adalah sedikit abstrak, kerana apa yang sebenarnya kita gelung adalah indeks pelbagai.
Oleh kerana indeks pelbagai hanya terdiri daripada integer bukan negatif, kita melepaskan nilai integer biasanya bermula dari sifar dan berakhir pada panjang penuh array, kemudian gunakan nilai iterated untuk mengakses elemen array pada indeks yang diberikan.
Walau bagaimanapun sejak ECMAScript6, ada cara untuk gelung secara langsung melalui nilai pelbagai tanpa mengganggu indeks, dan itu boleh dilakukan dengan menggunakan untuk ... daripada
gelung.
Dalam pelbagai, yang untuk ... daripada
gelung akan gelung melalui elemen tatasusunan dalam urutan indeks, dengan kata lain ia akan menjaga melelehkan indeks dan mendapatkan nilai array sedia ada pada indeks tertentu. Gelung ini sesuai jika anda hanya mahu melelungkan semua unsur array, dan bekerjasama dengannya.
var ary = ["orange", "apple", "lychee"]; untuk (biarkan item dari ary) console.log (item); // "oren", "epal", "lychee"
Sebagai perbandingan, dengan reguler untuk
gelung, kita dapat indeks bukan nilai sebagai output.
var ary = ["orange", "apple", "lychee"]; untuk (var item = 0; item < ary.length; item++) console.log(item); // 0, 1, 2
3. Bilangan Elemen Tidak Panjangnya
Biasanya, apabila kita bercakap tentang panjang array, kita fikir ia sama ada bilangan nilai array yang dipegang, atau panjang yang kita berikan kepada array secara manual. Namun dalam realiti, panjang array tergantung pada indeks yang sedia ada terbesar di dalamnya.
Panjang ialah a harta yang sangat fleksibel. Sama ada anda telah menetapkan panjang array terlebih dahulu atau tidak, jika anda terus menambah nilai pada array, panjangnya terus meningkat dengan sewajarnya.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6
Dalam contoh di atas, anda dapat melihat bahawa saya memberikan array hanya satu nilai pada indeks 5, dan panjangnya menjadi 6. Sekarang, jika anda berfikir bahawa dengan menambah nilai di indeks 5, array tersebut membuat indeks 0 hingga 4 secara automatik , kemudian andaian anda salah. Terdapat benar tiada indeks yang ada dari 0 hingga 4 dalam pelbagai itu. Anda boleh menyemak ini dengan menggunakan dalam
pengendali.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 console.log (0 dalam ary); // salah
Arahan itu ary
adalah apa yang kita panggil pelbagai "jarang", pelbagai di mana indeks tidak dicipta secara berterusan, dan mempunyai jurang. Sebaliknya daripada pelbagai "jarang" ialah pelbagai "padat" di mana indeks wujud secara berterusan dalam tatasusunan, dan bilangan elemen adalah sama dengan panjang
.
The panjang
harta juga mampu memunculkan array, pastikan indeks tertinggi hadir dalam array sentiasa kurang daripada itu sendiri, sebagai panjang
sentiasa secara numerik lebih besar daripada indeks tertinggi secara lalai.
Dalam contoh di bawah, anda dapat melihat bagaimana kami kehilangan elemen pada indeks 5 dengan mengurangkan panjang
daripada ary
array.
var ary = []; ary.length = 3; console.log (ary.length); // 3 ary [5] = "abcd"; console.log (ary.length); // 6 ary.length = 2; console.log (ary.length); // 2 console.log (ary [5]); / undefined
Bacaan lanjut
- 10 istilah JavaScript yang perlu anda ketahui sekarang
- 4 pernyataan Javascript yang tidak sepatutnya biasa tetapi anda harus tahu
- Pengoptimuman kod dengan Petunjuk JS - alat untuk mengikat Javascript