Cara Menambahkan Nilai ke Array dalam Perulangan forEach
di JavaScript
Perulangan forEach
di JavaScript adalah metode yang berguna untuk mengiterasi melalui setiap elemen dalam sebuah array. Namun, metode ini tidak secara langsung mengubah array asli. Jika Anda ingin menambahkan nilai baru ke array saat mengiterasi dengan forEach
, ada beberapa cara untuk melakukannya:
1. Gunakan push()
pada array baru
Anda dapat membuat array baru dan menambahkan nilai baru ke dalamnya menggunakan metode push()
di dalam forEach
.
const numbers = [1, 2, 3, 4];
const doubledNumbers = [];
numbers.forEach(number => {
doubledNumbers.push(number * 2);
});
console.log(doubledNumbers); // Output: [2, 4, 6, 8]
Kode di atas membuat array doubledNumbers
baru dan menambahkan hasil perkalian setiap elemen numbers
dengan 2 ke dalam array baru ini.
2. Gunakan map()
Metode map()
pada array menyediakan cara yang lebih ringkas untuk mengubah setiap elemen dalam array dan mengembalikan array baru dengan hasil transformasi.
const numbers = [1, 2, 3, 4];
const doubledNumbers = numbers.map(number => number * 2);
console.log(doubledNumbers); // Output: [2, 4, 6, 8]
Metode map()
lebih disukai karena lebih mudah dibaca dan lebih efisien daripada menggunakan forEach
dengan push()
.
3. Gunakan reduce()
untuk menggabungkan nilai
Jika Anda ingin menambahkan nilai baru ke array asli, Anda dapat menggunakan metode reduce()
.
const numbers = [1, 2, 3, 4];
const doubledNumbers = numbers.reduce((acc, number) => {
acc.push(number * 2);
return acc;
}, []);
console.log(doubledNumbers); // Output: [2, 4, 6, 8]
Kode di atas menggunakan reduce()
untuk membuat array baru dan menambahkan nilai baru ke dalamnya. Fungsi callback reduce()
menerima dua parameter: accumulator (yang menyimpan hasil perhitungan) dan elemen saat ini dari array.
Peringatan: Modifikasi Array Asli
Jika Anda perlu mengubah array asli, Anda dapat melakukannya dengan menggunakan forEach
dan mengubah properti elemen array. Namun, ini umumnya tidak dianjurkan karena dapat menyebabkan efek samping yang tidak diinginkan dalam kode Anda.
Contoh:
const numbers = [1, 2, 3, 4];
numbers.forEach((number, index) => {
numbers[index] = number * 2;
});
console.log(numbers); // Output: [2, 4, 6, 8]
Kode di atas mengubah setiap elemen dalam array numbers
dengan mengalikannya dengan 2.
Kesimpulan
Menggunakan forEach
untuk menambahkan nilai baru ke array biasanya tidak disarankan karena lebih mudah dilakukan dengan menggunakan metode map()
atau reduce()
. Metode-metode ini lebih efisien dan mudah dibaca. Namun, jika Anda perlu memodifikasi array asli, Anda dapat menggunakan forEach
dan mengubah properti elemen array.