Array

Variabel dengan tipe array digunakan untuk menyimpan banyak data dalam satu variabel

In [2]:
var myNums = [5, 4, 3, 7, 2];
console.log(myNums);
[ 5, 4, 3, 7, 2 ]

Akses suatu elemen pada array melalui indeksnya. Indeks suatu array dimulai dari 0

In [4]:
console.log(myNums[1]); // mengakses elemen kedua pada array
4

Menampilkan elemen array satu per satu menggunakan perulangan

In [3]:
var arr = [3, 1, 3, 4];
var arrSize = arr.length; // mendapatkan jumlah elemen pada array
console.log("Array size: ", arrSize);

for (var i = 0; i < arrSize; i++)
{
    console.log(arr[i]);
}
Array size:  4
3
1
3
4

Array dapat dibuat di dalam suatu array, sehingga membentuk array 2 dimensi

In [5]:
var arr2d = [[5, 2, 2], [6, 2, 7]];
console.log(arr2d); // menampilkan array
console.log(arr2d[0]); // menampilkan elemen pertama pada array
console.log(arr2d[1][0]); // menampilkan elemen pertama pada elemen kedua pada array

console.log("Array size: ", arr2d.length);
console.log("Size of the first element: ", arr2d[0].length);
[ [ 5, 2, 2 ], [ 6, 2, 7 ] ]
[ 5, 2, 2 ]
6
Array size:  2
Size of the first element:  3

Tipe data elemen pada array dapat seragam maupun berbeda-beda

In [8]:
var strArr = ["synapse", "academy"]; // array yang berisi string
var mixedArr = [1, "azhary", undefined]; // array yang berisi int, string, dan undefined

console.log(strArr);
console.log(typeof(strArr));
console.log(typeof(mixedArr));
[ 'synapse', 'academy' ]
object
object

Melakukan push & pop pada array

In [6]:
var x = [1, 2, 3, 4];
console.log("Before: ", x);

x.push(7); // menambah elemen 7 di akhir array
console.log("After: ", x);

var lastElement = x.pop(); // mengambil dan menghapus elemen terakhir pada array
console.log("Last element: ", lastElement); 
console.log("After pop: ", x);
Before:  [ 1, 2, 3, 4 ]
After:  [ 1, 2, 3, 4, 7 ]
Last element:  7
After pop:  [ 1, 2, 3, 4 ]

Menghapus elemen pada array

In [8]:
var x = [1, 2, 3, 4];
console.log("Before: ", x);

delete x[2]; // keyword delete hanya menjadikan suatu elemen pada array menjadi empty item / undefined
console.log("After delete: ", x);

console.log(x[2]);

x.splice(1, 1); // dimulai dari indeks 1, hapus 1 elemen
console.log("After splice: ", x);
Before:  [ 1, 2, 3, 4 ]
After delete:  [ 1, 2, <1 empty item>, 4 ]
undefined
After splice:  [ 1, <1 empty item>, 4 ]

Mengurutkan elemen-elemen pada array

In [10]:
var x = [4, 2, 3, 1];
console.log("Before sort: ", x);

x.sort(); // mengurutkan elemen-elemen pada array x
console.log("After sort: ", x);

x.reverse(); // membalikkan urutan elemen-elemen pada array x
console.log("Reverse order: ", x);
Before sort:  [ 4, 2, 3, 1 ]
After sort:  [ 1, 2, 3, 4 ]
Reverse order:  [ 4, 3, 2, 1 ]

Kamu dapat melihat daftar lengkap fungsi-fungsi pada array di https://www.w3schools.com/jsref/jsref_obj_array.asp

JSON

JSON merupakan singkatan dari JavaScript Object Notation.

Tipe data yang paling banyak digunakan sebagai format pertukaran dan penyimpanan data.

In [1]:
var myJson = {
    first_name: "Synapse", 
    last_name: "Academy"
};

console.log(myJson); // menampilkan isi dari json
console.log(myJson.last_name); // mengakses nilai json dengan property/key last_name
console.log(myJson["first_name"]); // mengakses nilai json dengan key first_name menggunakan square brackets
console.log(typeof(myJson));
{ first_name: 'Synapse', last_name: 'Academy' }
Academy
Synapse
object

JSON dapat digunakan untuk menyimpan nilai dengan berbagai tipe data, bahkan dapat digunakan untuk menyimpan function

In [2]:
var person = {
    name: "Azhary Arliansyah",
    age: 22,
    do_work: function(work) {
        console.log("I love to " + work);
    }
};

console.log(person); // menampilkan isi json person
console.log("My name is " + person.name + " and i am " + person.age + " years old"); // menampilkan nilai name dan age pada json person
person.do_work("code"); // memanggil fungsi do_work() pada json person
{ name: 'Azhary Arliansyah',
  age: 22,
  do_work: [Function: do_work] }
My name is Azhary Arliansyah and i am 22 years old
I love to code

Gunakan array jika ingin menyimpan banyak nilai dengan tipe JSON

In [3]:
var jsonArr = [
    {
        job: "JavaScript Developer",
        details: "Experienced in Vanilla JS and React JS"
    },
    {
        job: "Machine Learning Engineer",
        details: "Experienced in Python or R language"
    }
];

console.log(jsonArr);
console.log("Your future job will be " + jsonArr[1].job); // mengakses nilai dengan key job pada json di index ke 1
[ { job: 'JavaScript Developer',
    details: 'Experienced in Vanilla JS and React JS' },
  { job: 'Machine Learning Engineer',
    details: 'Experienced in Python or R language' } ]
Your future job will be Machine Learning Engineer

Konversi string ke JSON, dan sebaliknya. String yang akan dikonversi ke JSON harus sesuai dengan sintaks penulisan JSON.

In [5]:
var jsonString = '{"first_name": "Synapse", "last_name": "Academy"}';
console.log(jsonString);
console.log(typeof(jsonString));

var json = JSON.parse(jsonString); // konversi string ke json
console.log(typeof(json));
console.log(json.first_name);

var jsonStringAgain = JSON.stringify(json); // konversi json ke string
console.log(typeof(jsonStringAgain));
{"first_name": "Synapse", "last_name": "Academy"}
string
object
Synapse
string