≡ Menu

Memahami Tipe Data Array pada JavaScript

JavaScript © willibetz/fotolia.com

Array adalah tipe data yang bisa menampung banyak data sekaligus dan diakses berdasarkan index-nya. Array pada javascript adalah tipe data non-primitif berbentuk object.

Jangan membayangkan bahwa array pada JavaScript memiliki ukuran yang kaku, artinya kita harus mendefinisikan banyaknya slot pada saat deklarasi. Tidak, array pada JavaScript lebih mirip list. Kita bisa menambahkan data secara on-the-fly.

Pendeklarasian Array

Berikut adalah bagaimana JavaScript mendeklarasikan tipe data array.

var arrOrang = ["Jobs", "Smith", "Asep", "Candra"];

Untuk mengakses array, kita hanya perlu memanggil variabel beserta index array. Index array pada JavaScript dimulai dari nol btw.

console.log(arrOrang[1]); // "Smith"
console.log(arrOrang.length); // 4

Oh ya, array ini juga bisa menampung tipe data yang berbeda pada satu array yang sama.

var arrData = ["Noobs", 10002, 0.123, function(a) { console.log(a); }];

Yup, array bahkan bisa menampung function. Function pada JavaScript adalah first-class function. Akan saya bahas pada tulisan selanjutnya.

Kita juga bisa mengganti array secara semena-mena.

arrData[0] = "Steve";
console.log(arrData);
// [ 'Steve', 10002, 0.123, [Function] ]

Method pada Array

JavaScript memiliki banyak method pada Array, yang saya tulis di sini hanya yang sering saya gunakan saja, yaitu Array.prototype.push(), Array.prototype.pop(), Array.prototype.shift(), dan Array.prototype.map().

Array.prototype.push() adalah method yang melakukan modifikasi pada array dengan menambahkan data pada akhir array.

Contoh, saya memiliki arrData dengan element yang berisi [ 'Steve', 10002, 0.123, [Function] ].

arrData.push(1000);
 
console.log(arrData);
// [ 'Steve', 10002, 0.123, [Function], 1000 ]

Lawan dari Array.prototype.push() adalah Array.prototype.pop(). pop() akan me-return-kan sekaligus menghapus element terakhir dari array.

var lastElement = arrData.pop();
 
console.log(lastElement);
// 1000
 
console.log(arrData);
// [ 'Steve', 10002, 0.123, [Function] ]

Kebalikan dari pop() adalah Array.prototype.shift(). shift() akan me-return-kan sekaligus menghapus element pertama dari array.

var firstElement = arrData.pop();
 
console.log(firstElement);
// 'Steve'
 
console.log(arrData);
// [ 10002, 0.123, [Function] ]

Terakhir adalah Array.prototype.map(). map() biasa saya gunakan untuk melakukan invoking terhadap fungsi dalam array atau melakukan print semua element pada array.

var arrNum = [1, 2, 3, 4, 5, 6];

Bagaimana saya melakukan invoking satu f(x) ke semua element array arrNum? Cara textbook yang biasanya diajarkan adalah memakai looping dengan for.

Oke, misalkan saya punya f(x) = (x*2), fungsi ini sederhananya melakukan doubling setiap element array. Dengan for loops saya tulis sebagai berikut:

for (var i = 0; i < arrNum.length; i++) {
  arrNum[i] = function(x) { return x * 2; }(arrNum[i]);
}
 
console.log(arrNum);
// [ 2, 4, 6, 8, 10, 12 ]

Oke, panjang bukan? btw, fungsi yang saya gunakan di atas adalah anonymous function. Dengan method map() saya hanya perlu menulis satu baris kode saja.

arrNum = arrNum.map(function(x) { return x * 2; });
 
console.log(arrNum);
// [ 4, 8, 12, 16, 20, 24 ]

Cool huh?!, yeah I thing so. Method map() ini akan sangat powerfull jika nanti kita gunakan pada first-class function.

Semoga bermanfaat! keep coding and stay cool!

{ 0 comments… add one }

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.