Manipulasi Array

Jenis Method Untuk Memanipulasi Array

  1. Filter

  2. Method .filter() akan membuat sebuah array baru berisi element yang sesuai dengan kondisi yang diberikan. Method ini tidak akan mengubah array yang sebelumnya.

    let result = array.filter(function(item, index) {
    return true;
    });
    • item: nilai dari element yang sedang diproses

    • index: index dari element yang sedang diproses (optional)

    Contoh:

    Method .filter() akan membuat sebuah array baru berisi element yang sesuai dengan kondisi yang diberikan. Method ini tidak akan mengubah array yang sebelumnya.

    let numbers = [1, 2, 3, 4, 5];
    let oddNum = array.filter(function(number) {
    return number % 2 === 1;
    });

    console.log(numbers); // [1, 2, 3, 4, 5]
    console.log(oddNum); // [1, 3, 5]
  3. Map

  4. Method .map() akan membuat array baru berisi hasil dari operasi yang diberikan.

    let result = array.filter(function(item, index) {
    return true;
    });
    • item: nilai dari element yang sedang diproses

    • index: index dari element yang sedang diproses (optional)

    Contoh:

    Method .map() akan membuat array baru berisi hasil dari operasi yang diberikan.

    let numbers = [1, 2, 3, 4, 5];
    let oddNum = array.filter(function(number) {
    return number * 2;
    });

    console.log(numbers); // [1, 2, 3, 4, 5]
    console.log(oddNum); // [2, 4, 6, 8, 10]
  5. Sort

  6. Method .map() akan membuat array baru berisi hasil dari operasi yang diberikan.

    array.sort();
    array.sort(function(firstEl, secondEl) {
    ...
    });
    • firstEl: element pertama yang akan dibandingkan

    • secondEl: element kedua yang akan dibandingkan

    Contoh:

    let numbers1 = [1, 2, 3, 4, 5];
    let numbers2 = [6, 7, 8, 9, 10];
    numbers1.sort();
    console.log(numbers1); // [1, 2, 3, 4, 5]
    numbers2.sort(function(a,b) {
    return a - b;
    });
    console.log(numbers2); // [6, 7, 8, 9, 10]
  7. Push & Pop

  8. Method .push() akan menambahkan element baru pada akhir array, sedangkan .pop() akan menghapus element terakhir dari array. Kedua method ini akan mengubah array asli.

    array.push(item1, item2, ..., itemN);
    array.pop();
    • item: element yang akan ditambahkan ke array

    Contoh:

    let numbers = [1, 2, 3, 4, 5];
    numbers.push(6); // menambahkan angka 6 ke array numbers
    console.log(numbers); // [1, 2, 3, 4, 5, 6]
    numbers.pop(); // menghapus item terakhir dari array numbers
    console.log(numbers); // [1, 2, 3, 4, 5]
  9. Shift & Unshift

  10. Method .unshift() akan menambahkan element baru pada awal array, sedangkan .shift() akan menghapus element pertama dari array. Kedua method ini akan mengubah array asli.

    array.unshift(item1, item2, ..., itemN);
    array.shift();
    • item: element yang akan ditambahkan ke array

    Contoh:

    let numbers = [1, 2, 3, 4, 5];
    numbers.unshift(-1, 0); // menambahkan angka -1 dan 0 ke array numbers
    console.log(numbers); // [-1, 0, 1, 2, 3, 4, 5]
    numbers.shift(); // menghapus item pertama dari array numbers
    console.log(numbers); // [0, 1, 2, 3, 4, 5]
  11. Reduce

  12. Method .reduce() akan menjalankan fungsi pada setiap element dimana pada setiap iterasinya menggunakan hasil return dari iterasi sebelumnya.

    const numbers = [1, 2, 3, 4, 5];
    const totalNumber = numbers.reduce(function(akumulator, number) {
    return akumulator + number;
    });
    // untuk setiap elemen akan menjalankan fungsi menambahkan akumulator dengan nilai dirinya
    // akumulator adalah nilai dari perhitungan semua elemen sebelumnya
    console.log(totalNumber); // 15

    dalam contoh di atas nilai awal akumulator secara default adalah 0, sehingga:

    • 0 + 1 = 1

    • 1 + 2 = 3

    • 3 + 3 = 6

    • 6 + 4 = 10

    • 10 + 5 = 15 (nilai totalNumber menjadi 15)

    Contoh:

    Method .reduce() akan menjalankan fungsi pada setiap element dimana pada setiap iterasinya menggunakan hasil return dari iterasi sebelumnya.

    const numbers = [1, 2, 3, 4, 5];
    const totalNumber = numbers.reduce(function(akumulator, number) {
    return akumulator + number;
    }, 100)
    // parameter kedua (nilai awal akumulator) diberi nilai 100 sehingga perhitungan dimulai dari 100
    console.log(totalNumber); // 115
    // nilai totalNumber menjadi 115