Coding: Meratakan array dalam Javascript
Meratakan Larik: Meratakan larik berarti mengambil larik yang mungkin berisi larik bersarang (yaitu, larik di dalam larik) dan mengubahnya menjadi larik satu dimensi tunggal. Dengan kata lain, ini melibatkan penghapusan semua array bersarang dan menggabungkan elemen-elemennya menjadi satu array.
Kami akan membahas beberapa solusi.
Solusi 1: Menggunakan Rekursi
Kode mendefinisikan fungsi yang disebut FlattenArrayyang menggunakan array sebagai argumen. Tujuan dari fungsi ini adalah untuk mengambil array bersarang dan mengembalikan versi yang diratakan. Misalnya, jika inputnya adalah [1, 2, [3, 4]], fungsi tersebut harus mengembalikan [1, 2, 3, 4].
Fungsi dimulai dengan membuat larik kosong yang dipanggil, yang akan digunakan untuk menyimpan versi rata dari larik masukan. Ini kemudian memasuki forloop yang akan mengulang melalui setiap elemen dalam larik input.
Untuk setiap elemen dalam larik masukan, fungsi memeriksa apakah elemen itu sendiri merupakan larik dengan menggunakan metode Array.isArray. Jika elemennya adalah array, fungsi memanggil dirinya sendiri secara rekursif dengan array bersarang sebagai argumen dan menggunakan metode concatuntuk menggabungkan array bersarang rata dengan flatArrayyang dibuat di awal fungsi.
Jika elemen bukan array, fungsi hanya mendorong elemen ke flatArray.
Setelah semua elemen dalam larik input diproses, fungsi mengembalikan flatArray.
Kode Lengkap:
// Flatten Array
function FlattenArray(arr) {
var flatArray = []
for (let i = 0; i < arr.length; i++) {
if (Array.isArray(arr[i])) {
flatArray = flatArray.concat(FlattenArray(arr[i]))
} else {
flatArray.push(arr[i])
}
}
return flatArray
}
var arr = [1, 2, 3, 4, [5, 6, [7, 8]], [9]]
console.log(FlattenArray(arr))
Solusi 2: Menggunakan Reduce Metode
function flattenArray(arr) {
return arr.reduce(function(flatArray, current) {
if (Array.isArray(current)) {
return flatArray.concat(flattenArray(current));
} else {
return flatArray.concat(current);
}
}, []);
}
var arr = [1, 2, 3, 4, [5, 6, [7, 8]], [9]];
console.log(flattenArray(arr)); // [1, 2, 3, 4, 5, 6, 7, 8, 9]
Metode tersebut reducemengambil dua argumen: fungsi panggilan balik dan nilai awal untuk akumulator. Dalam hal ini, akumulator adalah larik kosong yang akan digunakan untuk membangun versi rata dari larik input.
Fungsi callback mengambil dua argumen: nilai saat ini sedang diproses (yang akan menjadi setiap elemen array input pada gilirannya), dan nilai akumulator saat ini.
Di dalam fungsi panggilan balik, kami memeriksa apakah nilai saat ini adalah array menggunakan Array.isArray. Jika itu adalah array, kita memanggil flattenArraysecara rekursif untuk meratakan array bersarang dan kemudian menggabungkan array yang diratakan dengan akumulator menggunakan concatmetode ini.
Jika nilai saat ini bukan array, kami cukup menggabungkannya dengan akumulator menggunakan concat.
Terakhir, reducemetode ini mengembalikan nilai akhir akumulator, yang akan menjadi versi rata dari larik masukan.
Dengan kode ini, Anda akan mendapatkan keluaran yang sama seperti sebelumnya: [1, 2, 3, 4, 5, 6, 7, 8, 9].
Jika Anda tertarik untuk mempelajari lebih lanjut tentang pengkodean dalam Javascript, pastikan untuk mengikuti saya untuk lebih banyak potongan kode dan contoh. Saya akan membagikan informasi dan tips berharga tentang cara menguasai bahasa dan meningkatkan keterampilan Anda sebagai developer. Jadi, nantikan pembaruan lainnya, dan mari terus belajar bersama.
Terima kasih telah membaca. Selamat belajar
Threading dan Multiprocessing dalam Python Dijelaskan Cara termudah untuk Mengakses Database di JAVA Pertanyaan Wawancara berbasis Java8 Stream yang paling sering ditanyakan — Bagian 1 Apache Maven — Secara Singkat
![Apa itu Linked List? [Bagian 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































