Jenis array dalam JavaScript sangat berbeda dari yang ada dalam bahasa lain. Setiap item dalam JavaScript dapat menampung semua jenis data. Selain itu, ukuran array JavaScript dapat disesuaikan secara dinamis dan dapat secara otomatis tumbuh karena data ditambahkan untuk mengakomodasi data baru .
Ada dua bentuk dasar untuk membuat array.
1.Array Constructor
var cities = array baru ();
Jika Anda tahu jumlah item yang akan disimpan terlebih dahulu, Anda juga dapat meneruskan nomor ini ke konstruktor, yang secara otomatis akan menjadi nilai atribut panjang.
var cities = array baru (3);
Anda juga dapat meneruskan barang -barang yang harus disertakan dalam array ke konstruktor array.
var cities = array baru ("shanghai", "beijing", "shenzhen");Operator baru dapat dihilangkan saat membuat array:
var cities = array (3); // Buat array yang berisi 3 elemen
2. Array Representasi Literal
Notasi literal array diwakili oleh sepasang tanda kurung persegi yang berisi item array, dipisahkan oleh koma, sebagai berikut:
var cities = ["shanghai", "beijing", "shenzhen"]; var cities = []; // Buat string kosong
Saat membaca dan mengatur nilai array, gunakan tanda kurung persegi dan berikan indeks numerik berdasarkan 0 (berdasarkan 0 menghitung dari 0, istilah pertama adalah 0, istilah kedua adalah 1, dan seterusnya), seperti yang ditunjukkan di bawah ini:
var cities = ["shanghai", "beijing", "shenzhen"]; waspada (kota [0]); // kota "Shanghai" [1] = "hongkong"; // Ubah item kedua "Beijing" menjadi "hongkong" kota [3] = "taiwan" // tambahkan item baru
Jumlah item dalam array disimpan di properti panjang, dan tidak hanya baca . Oleh karena itu, dengan mengatur properti panjang, Anda dapat menghapus item dari ujung array atau menambahkan item baru ke array.
var cities = ["shanghai", "beijing", "shenzhen"]; kota.length = 2; alert (kota [2]); // belum diartikan
Menggunakan properti ini dengan panjang, Anda dapat menambahkan item baru di akhir array:
var cities = ["shanghai", "beijing", "shenzhen"]; kota [kota.length] = "hongkong";
1. Deteksi array
ECMascript5 telah menambahkan metode array.isArray (), yaitu untuk menentukan apakah nilai adalah array, terlepas dari lingkungan eksekusi global mana yang dibuat. Penggunaannya adalah sebagai berikut:
if (array.isArray (value)) {// lakukan beberapa operasi pada array}2. Metode Konversi
Semua objek memiliki metode tolocalestring (), tostring (), dan nilai (). Metode tostring () dari array disebut tostring () untuk mengembalikan string yang dipisahkan koma yang disambung dari bentuk string dari setiap nilai dalam array. Misalnya:
var cities = ["shanghai", "beijing", "shenzhen"]; waspada (cities.tostring ()); // Shanghai, Beijing, Shenzhenert (City.Valueof ()); // Shanghai, Beijing, Shenzhenert (kota); // Shanghai, Beijing, Shenzhenert (kota); // Shanghai, Beijing, Shenzhen
Catatan: Karena peringatan () perlu menerima parameter string, itu akan memanggil metode tostring () di latar belakang, sehingga akan mendapatkan hasil yang sama dari memanggil metode tostring () secara langsung.
Selain itu, metode tolocalestring () sering mengembalikan nilai yang sama dengan tostring () dan nilaiof (). Perbedaannya adalah bahwa untuk mendapatkan nilai dari setiap item, metode tolocalestring () dari setiap item disebut , daripada metode tostring (). Misalnya:
var p1 = {tolocalestring: function () {return "p1 tolocalestring"; }, tostring: function () {return "p1 tostring"; }}; var p2 = {tolocalestring: function () {return "p2 tolocalestring"; }, tostring: function () {return "p2 tostring"; }}; var p = [p1, p2]; peringatan (p); alert (p.tostring ()); alert (p.tolocalestring ());Hasilnya menunjukkan bahwa metode tostring dipanggil pada baris pertama dan kedua, dan metode tolocalestring dipanggil di baris ketiga.
Metode tolocalestring (), tostring () dan nilai () yang diwarisi oleh array akan mengembalikan item array dalam bentuk string yang dipisahkan koma secara default. Dengan metode join (), Anda dapat menggunakan karakter yang berbeda untuk membagi string dan kemudian mengembalikan string yang berisi semua item array.
var cities = ["shanghai", "beijing", "shenzhen"]; waspada (kota); // Shanghai, Beijing, Shenzhenert (City.Join (",")); // Shanghai, Beijing, Shenzhenert (City.Join ("|")); // Shanghai | Beijing | Shenzhen3. Metode tumpukan
Tumpukan adalah struktur data terakhir-out-out (LIFO), dan penyisipan dan penghapusan item data dalam tumpukan hanya dapat terjadi di bagian atas tumpukan. Array JavaScript menyediakan metode push () dan pop () untuk menerapkan perilaku seperti tumpukan.
metode push ()
Anda dapat mengambil sejumlah parameter, menambahkannya ke ujung array, dan memodifikasi panjang array.
var params = array baru (); var count = params.push ("a", "b"); alert (params); // A, Balert (Count); // 2Dari contoh di atas, kita dapat melihat bahwa jumlah istilah yang dimasukkan yang dikembalikan dengan metode push ().
metode pop ()
Hapus item terakhir dari ujung array, kurangi panjang array, dan kembalikan item yang dihapus.
var params = array baru (); var count = params.push ("a", "b", "c"); var item = params.pop (); peringatan (item); // calendart (params.length); // 24. Metode antrian
Aturan akses untuk struktur data antrian adalah yang pertama di-pertama (FIFO), yaitu item ditambahkan dari ujung antrian dan item dihapus dari ujung depan antrian.
Metode shift ()
Metode Shift () disediakan dalam JavaScript, yang menghapus item pertama dalam array dan mengembalikan item, dan pada saat yang sama memodifikasi atribut panjang array.
var params = array baru (); var count = params.push ("a", "b", "c"); var item = params.shift (); // Dapatkan peringatan item pertama (item); // aalert (params.length); // 2metode unshift ()
JavaScript juga menyediakan metode unshift (), yang dapat menambahkan item apa pun ke ujung depan array dan mengembalikan panjang array baru.
var params = array baru (); var count1 = params.unshift ("a"); alert (count1); // 1Alert (params); // avar count2 = params.unshift ("b"); alert (count2); // 2Alert (params); // b, avar count3 = params.unshift ("c", "d"); alert (params); // c, d, b, aDiamati bahwa jika ada beberapa istilah di unshift () pada suatu waktu, itu akan memasukkan istilah -istilah ini ke dalam array secara berurutan, yaitu, parameter pertama dimasukkan ke depan. Seperti pada contoh di atas, "A" dimasukkan untuk pertama kalinya, "B" dimasukkan untuk kedua kalinya, dan ada banyak istilah ketika ketiga kalinya, tetapi pesanannya C di depan dan D di belakang.
5. Metode pemesanan ulang
Ada dua metode yang langsung digunakan untuk pemesanan ulang di array.
metode terbalik ()
Metode Reverse () membalikkan urutan item array.
var values = [1,2,3,4,5]; values.reverse (); peringatan (nilai); // 5,4,3,2,1
Metode Sort ()
Secara default, metode sort () mengatur item array dalam urutan naik. Untuk mencapai penyortiran, metode sort () memanggil metode transformasi tostring () dari setiap item array, dan kemudian membandingkan string yang dihasilkan. Oleh karena itu, metode sort () membandingkan string .
var values = [3,5,53,2,34]; values.sort (); peringatan (nilai); // 2,3,34,5,53
Namun, kita dapat mengatakan bahwa penyortiran ini pada dasarnya tidak ada artinya, dan yang kita butuhkan adalah mengurutkan nilai -nilai numerik. Metode sort () dapat menerima fungsi perbandingan sebagai argumen untuk menentukan aturan penyortiran.
Fungsi perbandingan menerima dua parameter, mengembalikan angka negatif jika parameter pertama harus sebelum parameter kedua, mengembalikan 0 jika dua parameter sama, dan mengembalikan angka positif jika parameter pertama setelah parameter kedua.
function compare (value1, value2) {if (value1 <value2) {return -1; } lain jika (value1> value2) {return 1; } else {return 0; }} var values = [3,5,53,2,34]; values.sort (bandingkan); peringatan (nilai); // 2,3,4,34,536. Metode Operasi
metode concat ()
Array baru dapat dibuat berdasarkan semua item dalam array saat ini. Metode ini membuat salinan array saat ini, menambahkan parameter ke akhir salinan, dan mengembalikan array yang baru dibangun. Jika satu atau lebih array diteruskan ke metode concat (), setiap item dalam array ditambahkan ke array.
var array = ["a", "b", "c"]; var array2 = arrays.concat ("d", ["e", "fe"]); waspada (array); // a, b, calert (arrays2); // a, b, c, d, e, fmetode slice ()
Membuat array baru berdasarkan satu atau lebih item dalam array saat ini. Metode SLICE () dapat menerima satu atau dua parameter, yaitu posisi awal dan akhir dari item yang akan dikembalikan . Ketika hanya ada satu parameter, ia mengembalikan semua item dari item start ke akhir array. Ketika ada dua parameter, ia mengembalikan item antara posisi awal dan posisi akhir (tidak termasuk item akhir). Metode SLICE () tidak akan mempengaruhi array asli.
Var Cities = ["Beijing", "Shanghai", "Shenzhen", "Guangzhou"]; Var Cities2 = Cities.slice (1); var Cities3 = Cities.slice (1,3); waspada (kota (kota2); // Shanghai, Shenzhen, Guangzhou Alert (Cities3); // Shanghai, Shenzhen
metode splice ()
Metode splice () terutama digunakan untuk memasukkan item ke tengah array, dan ada 3 cara untuk menggunakannya:
• Hapus dapat menghapus sejumlah item, tentukan 2 parameter: Item pertama yang akan dihapus dan jumlah item yang akan dihapus, seperti: splice (1,3) akan menghapus item ke -2, ke -3, dan ke -4 dalam array
var cities = ["Beijing", "Shanghai", "Shenzhen", "Guangzhou"]; Cities.splice (1,3); peringatan (kota); // Beijing
• Sisipkan Anda dapat memasukkan sejumlah item ke posisi yang ditentukan. Tentukan 3 parameter: posisi mulai, 0 (jumlah item yang akan dihapus), dan item yang akan dimasukkan
var cities = ["Beijing", "Shanghai", "Shenzhen", "Guangzhou"]; City.splice (1,0, "Hongkong"); waspada (kota); // Beijing, Hongkong, Shanghai, Shenzhen, Guangzhou
• Ganti item yang dapat menggantikan posisi yang ditentukan. Tentukan 3 parameter: posisi mulai, item yang akan dihapus, dan item apa pun yang akan dimasukkan.
var cities = ["Beijing", "Shanghai", "Shenzhen", "Guangzhou"]; City.splice (1,2, "Hongkong"); waspada (kota); // Beijing, Hongkong, Guangzhou
7. Metode Posisi
Ada dua metode posisi dalam metode JavaScript: IndexOf () dan lastIndexOf (). Kedua metode menerima dua parameter: item yang akan ditemukan dan indeks (opsional) yang menunjukkan lokasi titik awal pencarian.
Metode indexof () berarti melihat ke belakang dari awal array, sedangkan lastIndexOf () dimulai dari akhir array. Mereka semua mengembalikan posisi item yang ditemukan di array, dan -1 jika tidak ditemukan. Kongruen digunakan saat membandingkan parameter pertama dengan setiap item dalam array.
var nums = [1,2,3,4,5,6]; peringatan (nums.indexof (3)); // 2Alert (nums.LastIndexof (5)); // 4Alert (nums.indexof (3,1)); // 2Alert (nums.LastIndexof (4,4)); // 3
8. Metode iterasi
JavaScript menyediakan 5 metode iteratif untuk array. Setiap metode menerima dua parameter: fungsi yang akan dijalankan pada setiap item dan (opsional) objek lingkup yang menjalankan fungsi - mempengaruhi nilai ini. Parameter yang perlu diteruskan: nilai item array, posisi item dalam array, dan objek array itu sendiri.
• Every (): menjalankan fungsi yang diberikan pada setiap item dalam array, dan jika jumlah baris kembali benar untuk setiap item, itu mengembalikan true.
• Filter (): Jalankan fungsi yang diberikan pada setiap item dalam array, dan kembalikan array yang terdiri dari item yang akan mengembalikan true.
• foreach (): menjalankan fungsi yang diberikan pada setiap item dalam array tanpa mengembalikan nilai
• MAP (): Suatu fungsi yang terdiri dari menjalankan fungsi yang diberikan pada setiap item dalam array, mengembalikan hasil dari setiap panggilan fungsi.
• beberapa (): menjalankan fungsi yang diberikan pada setiap item dalam array. Jika ada item yang mengembalikan true, fungsi mengembalikan true.
Tidak ada metode di atas yang akan memodifikasi nilai yang terkandung dalam array.
9. Metode gabungan
Ada dua metode untuk menggabungkan array dalam JavaScript: reduce () dan reduceright (). Kedua metode mengulangi semua item array dan kemudian membangun nilai yang dikembalikan akhir. Di mana, metode reduksi () dimulai dari item pertama array, dan reduceright () dimulai dari item terakhir dari array.
Keduanya dapat menerima dua parameter: suatu fungsi yang dipanggil pada setiap item dan (opsional) sebagai nilai awal basis gabungan. Fungsi yang diteruskan untuk mengurangi () dan reduceright () menerima 4 parameter: nilai sebelumnya, nilai saat ini, indeks item, dan objek array. Nilai apa pun yang dikembalikan oleh fungsi ini akan secara otomatis diteruskan ke item berikutnya sebagai parameter pertama. Iterasi pertama terjadi pada istilah kedua array, sehingga parameter pertama adalah istilah pertama dari array, dan parameter kedua adalah istilah kedua dari array.
var values = [1,2,3,4,5]; var sum = values.reduce (function (prev, cur, index, array) {return prev+cur;}); alert (sum); // 15Pertama kali fungsi callback dieksekusi, Prev adalah 1 dan CUR adalah 2. Kedua kalinya, prev adalah 3 (1+2), CUR adalah 3 (nilai istilah ketiga array), mengetahui bahwa setiap item diakses.
Reduceright () memiliki fungsi yang sama, tetapi arahnya berlawanan.
Analisis komprehensif JavaScript di atas: Jenis Array adalah semua konten yang saya bagikan dengan Anda. Saya harap Anda dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.