Array JavaScript
- Halaman Sebelumnya Atribut Bilangan JS
- Halaman Berikutnya Metode Array JS
Array JavaScript digunakan untuk menyimpan banyak nilai dalam satu variabel.
Apa itu array?
Array adalah variabel khusus yang dapat menyimpan lebih dari satu nilai dalam sekali.
Jika Anda memiliki daftar proyek (contoh, daftar merek mobil), menyimpan merek mobil dalam satu variabel seperti ini:
var car1 = "Saab"; var car2 = "Volvo"; var car3 = "BMW";
Namun, apabila Anda ingin mengelilingi semua mobil dan mencari nilai yang khusus? Apabila bukan merek mobil tiga tapi tiga ratus?
Solusi adalah array!
Array dapat menyimpan banyak nilai dalam satu nama, dan nilai dapat diakses melalui indeks.
Membuat array
Menggunakan teks array adalah metode paling sederhana untuk membuat array JavaScript.
Grammar:
var array-name = [item1, item2, ...];
Contoh
var cars = ["Saab", "Volvo", "BMW"];
Spasi dan baris kosong tidak penting. Pernyataan dapat melintasi baris:
Contoh
var cars = [ "Saab", "Volvo", "BMW" ];
Jangan tulis koma setelah elemen terakhir (contoh "BMW",).
Mungkin ada masalah kompatibilitas antar peramban.
dengan kata kunci JavaScript new
Contoh di bawah ini juga akan membuat array dan memberikannya nilai:
Contoh
var cars = new Array("Saab", "Volvo", "BMW");
Dua contoh di atas ber efek yang sama. Tidak perlu menggunakan new Array()
.
Dengan pertimbangan kecepatan, keterbacaan, dan kecepatan eksekusi, silakan gunakan metode pertama (metode teks array).
mengakses elemen array
Kami melaluiNomor indeks (tanda bawah)untuk merujuk elemen array.
Perintah ini mengakses nilai elemen pertama di cars:
var name = cars[0];
Perintah ini mengubah elemen pertama di cars:
cars[0] = "Opel";
Contoh
var cars = ["Saab", "Volvo", "BMW"]; document.getElementById("demo").innerHTML = cars[0];
[0] adalah elemen pertama di dalam array. [1] adalah kedua. Indeks array dimulai dari 0.
Mengubah elemen array
Perintah ini mengubah nilai elemen pertama di cars:
cars[0] = "Opel";
Contoh
var cars = ["Saab", "Volvo", "BMW"]; cars[0] = "Opel"; document.getElementById("demo").innerHTML = cars[0];
Mengakses array penuh
Dengan JavaScript, Anda dapat mengakses array penuh melalui referensi nama array:
Contoh
var cars = ["Saab", "Volvo", "BMW"]; document.getElementById("demo").innerHTML = cars;
Array adalah objek
Array adalah tipe objek khusus. Dalam JavaScript, gunakan array untuk typeof
Operator akan mengembalikan "object".
Namun, array JavaScript paling baik untuk dijelaskan dengan array.
Penggunaan arrayangkauntuk mengakses "elemen". Dalam contoh ini,person[0]
Kembalikan Bill:
Array:
var person = ["Bill", "Gates", 62];
Objek menggunakanNamauntuk mengakses "anggota". Dalam contoh ini,person.firstName
Kembalikan Bill:
Objek:
var person = {firstName:"Bill", lastName:"Gates", age:19};
Elemen array dapat berupa objek
Variabel JavaScript dapat berupa objek. Array adalah tipe objek khusus.
Demi itu, Anda dapat menempatkan tipe variabel yang berbeda di dalam array yang sama.
Anda dapat menyimpan objek di array. Anda dapat menyimpan fungsi di array. bahkan Anda dapat menyimpan array di dalam array:
myArray[0] = Date.now; myArray[1] = myFunction; myArray[2] = myCars;
Properti dan metode array
Kekuatan sebenarnya dari array JavaScript tersembunyi di properti dan metode array:
Contoh
var x = cars.length; // Properti length mengembalikan jumlah elemen var y = cars.sort(); // Metode sort() mengurutkan array
Kami akan belajar tentang metode array di bab berikutnya.
properti length
length
properti ini mengembalikan panjang array (jumlah elemen array).
Contoh
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.length; // Panjang fruits adalah 4
length
properti selalu lebih besar daripada indeks terbesar array (indeks bawah).
mengakses elemen array pertama
Contoh
fruits = ["Banana", "Orange", "Apple", "Mango"]; var first = fruits[0];
mengakses elemen array terakhir
Contoh
fruits = ["Banana", "Orange", "Apple", "Mango"]; var last = fruits[fruits.length - 1];
mengelilingi elemen array
Cara paling aman untuk mengelilingi array adalah menggunakan "for
"Perulangan: "
Contoh
var fruits, text, fLen, i; fruits = ["Banana", "Orange", "Apple", "Mango"]; fLen = fruits.length; text = "<ul>"; for (i = 0; i < fLen; i++) { text += "<li>" + fruits[i] + "</li>"; }
Anda juga dapat menggunakan Array.forEach()
Fungsi:
Contoh
var fruits, text; fruits = ["Banana", "Orange", "Apple", "Mango"]; text = "<ul>"; fruits.forEach(myFunction); text += "</ul>"; function myFunction(value) { text += "<li>" + value + "</li>"; }
Menambahkan elemen array
Metode yang paling baik untuk menambahkan elemen array adalah menggunakan push()
Metode:
Contoh
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits.push("Lemon"); // Menambahkan elemen baru (Lemon) ke fruits
Juga dapat digunakan length
Atribut untuk menambahkan elemen baru ke array:
Contoh
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits[fruits.length] = "Lemon"; // Menambahkan elemen baru (Lemon) ke fruits
Peringatan!
Menambahkan elemen dengan indeks yang paling tinggi dapat menciptakan "dalam” yang belum ditentukan di dalam array:
Contoh
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits[6] = "Lemon"; // Menambahkan elemen baru (Lemon) ke fruits
Array yang berhubungan
Banyak elemen pemrograman yang mendukung array dengan indeks pemberi nama.
Array dengan indeks pemberi nama disebut array yang berhubungan (atau hash).
JavaScript Tidak didukungarray dengan indeks pemberi nama.
Dalam JavaScript, array hanya dapat digunakanindeks angka.
Contoh
var person = []; person[0] = "Bill"; person[1] = "Gates"; person[2] = 62; var x = person.length; // person.length mengembalikan 3 var y = person[0]; // person[0] mengembalikan "Bill"
Peringatan!
Jika Anda menggunakan indeks pemberi nama, JavaScript akan mengubah array menjadi objek standar.
Setelah itu, semua metode dan properti array akan menghasilkan hasil yang salah.
Contoh:
var person = []; person["firstName"] = "Bill"; person["lastName"] = "Gates"; person["age"] = 62; var x = person.length; // person.length akan mengembalikan 0 var y = person[0]; // person[0] akan mengembalikan undefined
perbedaan antara array dan objek
di JavaScriptarraygunakanindeks angka.
di JavaScriptobjekgunakanindeks yang dinamai.
Array adalah tipe objek khusus yang memiliki indeks angka.
Kapan menggunakan array, kapan menggunakan objek?
- JavaScript tidak mendukung array berhubungan
- Jika ingin nama elemenstring (teks)maka seharusnya digunakanobjek.
- Jika ingin nama elemenangkamaka seharusnya digunakanarray.
hindari new Array()
Tidak perlu menggunakan konstruktur array bawaan JavaScript new Array()
.
Gunakan []
Gantikan dengan!
Berikut adalah dua kalimat yang berbeda yang membuat array baru yang kosong yang dinamai points:
var points = new Array(); // Buruk var points = []; // Baik
Berikut adalah dua kalimat yang berbeda yang membuat array baru yang mengandung enam angka:
var points = new Array(40, 100, 1, 5, 25, 10); // Buruk var points = [40, 100, 1, 5, 25, 10]; // Baik
new
Kata kunci hanya akan memperkomplekskan kode. Ini juga akan menghasilkan beberapa hasil yang tidak diharapkan:
var points = new Array(40, 100); // Membuat array yang mengandung dua elemen (40 dan 100)
Apakah jika menghapus salah satu elemennya?
var points = new Array(40); // Membuat array yang mengandung 40 elemen yang belum didefinisikan!!!
Bagaimana mengenali array
Masalah yang umum adalah: bagaimana saya tahu apakah suatu variabel adalah array?
Masalahnya terletak di operator JavaScript typeof
Mengembalikan "object
":
var fruits = ["Banana", "Orange", "Apple", "Mango"]; typeof fruits; // Mengembalikan object
Operator typeof mengembalikan "object", karena array JavaScript termasuk dalam objek.
Solusi 1:
Untuk menyelesaikan masalah ini, ECMAScript 5 mendefinisikan metode baru Array.isArray()
:
Array.isArray(fruits); // Mengembalikan true
Masalah dengan ini adalah ECMAScript 5 Tidak mendukung peramban lama.
Solusi 2:
Buat sendiri isArray()
Fungsi untuk menyelesaikan masalah ini:
function isArray(x) { return x.constructor.toString().indexOf("Array") > -1; }
Jika parameter adalah array, maka fungsi di atas selalu mengembalikan true.
Atau penjelasan yang lebih akurat adalah: jika prototipe objek mengandung kata "Array", maka kembalikan true.
Solusi 3:
Jika objek dibuat oleh konstruktur yang diberikan, maka instanceof Operator mengembalikan true:
var fruits = ["Banana", "Orange", "Apple", "Mango"]; fruits instanceof Array // Mengembalikan true
- Halaman Sebelumnya Atribut Bilangan JS
- Halaman Berikutnya Metode Array JS