Saya telah menggunakan JS untuk waktu yang lama, tetapi saya tidak pernah mempelajari bentuk array JS. Kadang -kadang, gunakan itu adalah string sederhana.split (char). Proyek yang telah saya lakukan selama periode ini menggunakan banyak array. Saya pikir saya adalah ahli JS dan saya tidak tahu bagaimana memulai. Saya kejam dan saya akan mempelajarinya! hehe. Setelah belajar, saya menyadari bahwa fungsi array JS sangat kuat, jauh lebih kuat dari VB dan C#. Mari kita lihat perlahan.
1. Penciptaan array
var arrayobj = array baru (); // buat array var arrayobj = array baru ([ukuran]); // Buat array dan tentukan panjangnya, perhatikan bahwa itu bukan batas atas, itu adalah panjang var arrayobj = array baru ([elemen0 [, elemen1 [, ... [, elemen]]]]); // Buat array dan tetapkan nilai
Perlu dicatat bahwa meskipun metode kedua menciptakan array yang menentukan panjangnya, pada kenyataannya, array lebih panjang dalam semua kasus, yaitu, bahkan jika panjang ditentukan, elemen masih dapat disimpan di luar panjang yang ditentukan. Catatan: Panjangnya akan berubah sesuai.
2. Akses ke elemen array
var testGetArrValue = arrayobj [1]; // Dapatkan nilai elemen array
arrayobj [1] = "Ini adalah nilai baru"; // Tetapkan nilai baru ke elemen array
3. Menambahkan elemen array
Kode
arrayobj. push([item1 [item2 [. . . [itemN ]]]);// Add one or more new elements to the end of the array and return the new length of the array arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// Add one or more new elements to the array start, the elements in the array will automatically move backward, and return the new length of the array arrayobj.splice (insertPos, 0, [item1 [, item2 [,.. [, itemn]]]]); // Masukkan satu atau lebih elemen baru ke posisi yang ditentukan dari array, elemen pada posisi sisipan akan secara otomatis bergerak mundur, dan mengembalikan "".
4. Penghapusan elemen array
arrayobj.pop (); // Hapus elemen terakhir dan kembalikan nilai elemen arrayobj.shift (); // Hapus elemen terakhir dan kembalikan nilai elemen, elemen dalam array akan secara otomatis bergerak maju arrayobj.splice (deletepos, deletecount); // Hapus elemen dari jumlah deletecount yang ditentukan mulai dari DeletEpos posisi yang ditentukan, dan kembalikan elemen yang dihapus dalam formulir array
5. mencegat dan penggabungan array
arrayobj.slice (start, [end]); // Kembalikan sebagian array dalam bentuk array, perhatikan bahwa elemen yang sesuai dengan ujungnya tidak termasuk. Jika akhir dihilangkan, semua elemen setelah mulai akan disalin
arrayobj.concat ([item1 [, item2 [, ... [, itemn]]]]); // Sambungkan beberapa array (juga bisa berupa string, atau campuran array dan string) ke dalam array, dan mengembalikan array baru yang terhubung
6. Salinan Array
arrayobj.slice (0); // Kembalikan array salinan array, perhatikan bahwa itu adalah array baru, tidak menunjuk ke
arrayobj.concat (); // Kembalikan array salinan array, perhatikan bahwa itu adalah array baru, tidak menunjuk ke
7. Urutkan elemen array
arrayobj.reverse (); // membalikkan elemen (yang pertama berada di peringkat terakhir, yang terakhir mendapat peringkat pertama), dan mengembalikan alamat array
arrayobj.sort (); // Urutkan elemen array dan kembalikan alamat array
8. merangkai elemen array
arrayobj.join (pemisah); // Mengembalikan string, yang bergabung dengan setiap nilai elemen array bersama -sama, dipisahkan oleh pemisah.
Tolocalestring, tostring, nilai: dapat dianggap sebagai penggunaan khusus gabungan, tidak sering digunakan
2. Tiga properti objek array
1. Atribut Panjang
Atribut panjang mewakili panjang array, yaitu, jumlah elemen di dalamnya. Karena indeks array selalu dimulai dari 0, batas atas dan bawah suatu array adalah: 0 dan panjang-1 masing-masing. Tidak seperti kebanyakan bahasa lain, properti panjang array JavaScript dapat berubah, yang membutuhkan perhatian khusus. Ketika atribut panjang diatur menjadi lebih besar, keadaan seluruh array tidak akan benar -benar berubah, hanya atribut panjang menjadi lebih besar; Ketika atribut panjang diatur lebih kecil dari aslinya, semua nilai elemen dengan indeks lebih besar dari atau sama dengan panjang dalam array asli hilang. Berikut adalah contoh yang menunjukkan mengubah atribut panjang:
Kode
var arr = [12,23,5,3,25,98,76,54,56,76]; // Tentukan peringatan array (arr.length); // Tampilkan panjang array dengan 10 arr.length = 12; // Tingkatkan panjang peringatan array (arr.length); // Tunjukkan panjang array telah menjadi 12 ARR (ARR [8]); // Tunjukkan nilai elemen ke -9, 56 arr.length = 5; // Kurangi panjang array menjadi 5, dan elemen dengan indeks yang sama dengan atau melebihi 5 dibuang peringatan (ARR [8]); // Tunjukkan elemen ke -9 telah menjadi "tidak terdefinisi" arr.length = 10; // Kembalikan panjang array ke 10 ARR (ARR [8]); // Meskipun panjangnya dipulihkan menjadi 10, elemen ke -9 tidak dapat ditarik kembali, menunjukkan "tidak ditentukan"
Dari kode di atas kita dapat dengan jelas melihat properti atribut panjang. Tetapi objek panjang tidak hanya dapat diatur secara eksplisit, itu juga dapat dimodifikasi secara implisit. Variabel yang tidak diumumkan dapat digunakan dalam JavaScript. Demikian pula, elemen array yang tidak terdefinisi (mengacu pada elemen yang indeksnya melebihi atau sama dengan panjang). Pada saat ini, nilai atribut panjang akan diatur ke nilai indeks elemen yang digunakan ditambah 1. Misalnya, kode berikut:
var arr = [12,23,5,3,25,98,76,54,56,76]; waspada (arr.length); arr [15] = 34; peringatan (arr.length);
Kode ini juga pertama -tama mendefinisikan array yang berisi 10 angka. Melalui pernyataan peringatan, dapat dilihat bahwa panjangnya adalah 10. Kemudian, elemen dengan indeks 15 digunakan, dan nilainya 15, yaitu, ARR [15] = 34. Pada saat ini, panjang array adalah output menggunakan pernyataan peringatan, dan hasilnya adalah 16. Bagaimanapun, ini adalah fitur yang mengejutkan bagi pengembang yang terbiasa dengan pemrograman yang sangat diketik. Bahkan, sebuah array yang dibuat menggunakan bentuk array baru () memiliki panjang awal 0. Ini adalah pengoperasian elemen yang tidak ditentukan yang mengubah panjang array.
Dari pengantar di atas, kita dapat melihat bahwa atribut panjangnya sangat ajaib sehingga dapat dengan mudah meningkatkan atau mengurangi kapasitas array. Oleh karena itu, pemahaman mendalam tentang atribut panjang akan membantu menerapkannya secara fleksibel selama proses pengembangan.
2. Atribut prototipe
Mengembalikan referensi ke prototipe tipe objek. Atribut prototipe dibagikan berdasarkan objek.
ObjectName.Prototype
Parameter ObjectName adalah nama objek objek.
menjelaskan:
Gunakan atribut prototipe untuk menyediakan serangkaian fungsi dasar kelas objek. Sebuah instance baru dari suatu objek "mewarisi" operasi yang memberikan prototipe objek.
Untuk objek array, gunakan contoh berikut untuk menggambarkan tujuan atribut prototipe.
Tambahkan metode ke objek array untuk mengembalikan nilai elemen maksimum dalam array. Untuk mencapai ini, nyatakan fungsi, tambahkan ke array.prototype, dan gunakan.
Kode
function array_max () {var i, max = this [0]; untuk (i = 1; i <this.length; i ++) {if (max <this [i]) max = this [i];} return max;} array.prototype.max = array_max; var x = array baru (1, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 6);Setelah kode ini dieksekusi, Y menyimpan nilai maksimum dalam array x, atau 6.
3. Atribut Konstruktor
Fungsi yang mewakili pembuatan suatu objek.
Object.constructor // Object adalah nama objek atau fungsi.
Deskripsi: Properti Konstruktor adalah anggota dari semua objek dengan prototipe. Mereka termasuk semua objek JScript-Inherited kecuali objek global dan matematika. Properti konstruktor memiliki referensi ke fungsi yang membangun instance objek tertentu.
Misalnya:
x = string baru ("hai");
if (x.constructor == string) // proses (kondisi benar).
atau
Fungsi myfunc {
// Tubuh fungsi.
}
y = myfunc baru;
if (y.constructor == myfunc) // proses (kondisi benar).
Untuk array:
y = array baru ();