Mencari Gabungan Nilai Tatasusunan JavaScript
Cabaran yang sering dihadapi dalam JavaScript ialah mencari semua kemungkinan gabungan nilai merentas berbilang tatasusunan dengan panjang yang berbeza-beza. Ini berbeza daripada pilih atur, di mana susunan unsur penting.
Untuk menyelesaikan masalah ini, kami menggunakan pendekatan rekursif:
<code class="javascript">function allPossibleCases(arr) { if (arr.length === 1) { return arr[0]; } else { var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array for (var c in allCasesOfRest) { for (var i = 0; i < arr[0].length; i++) { result.push(arr[0][i] + allCasesOfRest[c]); } } return result; } }</code>
Pertimbangkan contoh dengan tiga tatasusunan:
<code class="javascript">var allArrays = [['a', 'b'], ['c'], ['d', 'e', 'f']];</code>
Memanggil allPossibleCases(allArrays) akan mengeluarkan:
["acd", "bcd", "azd", "bzd", "ace", "bce", "aze", "bze", "acf", "bcf", "azf", "bzf"]
Kaedah ini menggabungkan semua elemen daripada tatasusunan input dengan berkesan untuk menjana semua kombinasi yang mungkin, memenuhi keperluan yang dikemukakan dalam pertanyaan asal.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Semua Kemungkinan Gabungan Nilai dalam Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!