Rumah >hujung hadapan web >tutorial js >Apakah tatasusunan rata dan Bagaimanakah cara menyelesaikan masalah tatasusunan rata menggunakan fungsi rekursi dalam JavaScript?
Mula-mula Mari faham Apa itu tatasusunan leper. Tatasusunan yang diratakan ialah Tatasusunan, tetapi tatasusunan ini ialah satu bentuk tatasusunan berbilang dimensi, tatasusunan bersarang atau tatasusunan yang mengandungi tatasusunan lain.
Leper ialah satu pendekatan atau teknik yang membantu mengurangkan tatasusunan berbilang dimensi kepada satu tatasusunan satu dimensi yang dikenali sebagai mendatar.
Kadangkala kami memerlukan data sebegini apabila kami sedang mengerjakan projek atau menyelesaikan masalah, maka ia membantu untuk melepasi kumpulan set data menggunakan tatasusunan yang diratakan.
Contoh:
// This is a flattened array let arr = [1,44, [2, [3,9], 67], 9];
Terdapat pelbagai cara untuk menyelesaikan masalah seperti ini tetapi di sini, saya akan menerangkan menggunakan kaedah Rekursi, ini adalah salah satu pendekatan terbaik untuk menyelesaikan masalah seperti ini.
Di sini, saya tidak akan memperincikan penjelasan Rekursi, Tetapi saya akan memberikan sedikit gambaran tentang, jika anda ingin mengetahui lebih lanjut tentang saya akan membuat siaran berasingan untuk itu.
Rekursi ialah pendekatan pengaturcaraan untuk menyelesaikan isu pengulangan jenis kerja, yang memanggil dirinya secara langsung atau tidak langsung sehingga tidak sepadan dengan syarat tertentu, jika dipadankan maka fungsi itu menghentikan panggilan itu sendiri.
// This is a flattened array // Input: let arr = [1,44, [2, [3,9], 67], 9]; // Function Defin function recur(a) { let newArr = []; for (let i =0 ; i < a.length; i++) { const element = a[i]; if (Array.isArray(element)) { // Function calling itself recursion newArr.push(...recur(element)) } else { newArr.push(element) } } return newArr; } console.log(recur(arr)) Output: [1,44,2,3,9, 67, 9] // We can also write the same code using for each: function flattenArray(items) { const flat = []; items.forEach(item => { if (Array.isArray(item)) { flat.push(...flatten(item)); } else { flat.push(item); } }); return flat; } onsole.log(flattenArray(arr)) output: [1,44,2,3,9, 67, 9]
Atas ialah kandungan terperinci Apakah tatasusunan rata dan Bagaimanakah cara menyelesaikan masalah tatasusunan rata menggunakan fungsi rekursi dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!