Sebuah array bisa ditambah, dikurangi, atau diubah isinya. Operasi tersebut disebut dengan memanipulasi array.
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 diprosesindex
: index dari element yang sedang diproses (optional)
Contoh:
Mendapatkan array berisi bilangan ganjil
let numbers = [1, 2, 3, 4, 5];
let oddNum = numbers.filter(function(number) {
return number % 2 === 1;
})
console.log(numbers);
// expected output: [1, 2, 3, 4, 5]
console.log(oddNum);
// expected output: [1, 3, 5]
Method .map()
akan membuat array baru berisi hasil dari operasi yang diberikan.
let result = array.map(function(item, index) {
return true;
})
item
: nilai dari element yang sedang diprosesindex
: index dari element yang sedang diproses (optional)
Contoh:
Mengalikan semua nilai dalam array dengan 2
let numbers = [1, 2, 3, 4, 5];
let oddNum = numbers.map(function(number) {
return number * 2;
})
console.log(numbers);
// expected output: [1, 2, 3, 4, 5]
console.log(oddNum);
// expected output: [2, 4, 6, 8, 10]
Lihat contoh lainnya di map.js
Method .sort()
akan mengurutkan element dalam array.
array.sort();
array.sort(function(firstEl, secondEl) {
...
})
firstEl
: element pertama yang akan dibandingkansecondEl
: element kedua yang akan dibandingkan
Contoh:
let numbers = [3, 2, 5, 1, 4];
numbers.sort();
console.log(numbers);
// expected output: [1, 2, 3, 4, 5]
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
console.log(numbers);
// expected output: [1, 2, 3, 4, 5, 6]
numbers.pop() // menghapus angka terakhir
console.log(numbers);
// expected output: [1, 2, 3, 4, 5]
Lihat contoh lainnya di push.js
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
console.log(numbers);
// expected output: [-1, 0, 1, 2, 3, 4, 5]
numbers.shift() // menghapus angka pertama
console.log(numbers);
// expected output: [0, 1, 2, 3, 4, 5]
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((akumulator, number) => 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)
Nilai awal akumulator dapat ditentukan pada parameter kedua method .reduce()
const numbers = [1, 2, 3, 4, 5];
const totalNumber = numbers.reduce((akumulator, number) => akumulator + number, 100);
// parameter kedua (nilai awal akumulator) diberi nilai 100 sehingga perhitungan dimulai dari 100
console.log(totalNumber); // 115
// nilai totalNumber menjadi 115
Method .every()
akan menjalankan fungsi pada setiap elemen, dimana pada setiap iterasinya akan mengecek elemen apakah memenuhi kondisi pada fungsi yang dibuat atau tidak. .every()
akan mengembalikan nilai berupa true
atau false
.
const exampleArray = [60, 70, 80, 90];
const isArrayPassed = exampleArray.every((value) => value > 50);
console.log(isArrayPassed); // true
Method .findIndex()
akan mengembalikan indeks elemen pertama yang memenuhi kondisi pengujian.
const animals = ["cat", "dog", "wolf"];
console.log(animals.findIndex((animal) => animal === "cat")); // 0 --> mencari indeks cat dalam array animals
console.log(animals.findIndex((animal) => animal === "dog")); // 1 --> mencari indeks dog dalam array animals
Method .splice()
akan mengganti isi elemen array dengan menghapus atau mengubah isi dari elemen.
array.splice(indexStart, deleteCount, newItem, ...itemN);
indexStart
: index dari elemen yang dihapus/ubahdeleteCount
: banyaknya elemen yang akan dihapus/ubah dimulai dari indexStartnewItem
: item yang akan mengisi elemen yang dihapus/ubah
Contoh:
let food = ['Pizza', 'Nugget', 'Burger'];
food.splice(1, 1, 'Spaghetti');
console.log(food); // expected output: ['Pizza', 'Spaghetti', 'Burger']
Lihat contoh lainnya di splice.js