Mencari Semua Gabungan (produk Cartesian) Nilai Tatasusunan JavaScript
Menghasilkan semua gabungan nilai daripada berbilang tatasusunan dalam JavaScript boleh dicapai melalui konsep produk Cartesian. Begini cara anda boleh mendekatinya:
Rekursi untuk Produk Cartesian
Untuk menjana semua kombinasi, kita boleh menggunakan fungsi rekursif yang berulang melalui setiap tatasusunan dan menggabungkan elemen daripada semua tatasusunan.
Berikut ialah contoh fungsi rekursif yang mencari hasil darab Cartesian bagi berbilang tatasusunan:
return arr[0];
} else {
var result = []; var allCasesOfRest = allPossibleCases(arr.slice(1)); // recur with the rest of array for (var i = 0; i < allCasesOfRest.length; i++) { for (var j = 0; j < arr[0].length; j++) { result.push(arr[0][j] + allCasesOfRest[i]); } } return result;
}
}
Contoh Penggunaan
Katakan anda mempunyai tiga tatasusunan:
var first = ['a', 'b'], <br>var second = ['c'],<br>var third = ['d', 'e', 'f'];
Menggunakan fungsi allPossibleCases, anda boleh menjana semua kombinasi seperti berikut:
var allArrays = [first, second, third];<br>console.log(allPossibleCases(allArrays));
acd ace acf bcd bce bcf azd aze azf bzd bze bzf
Nota: Susunan elemen dalam setiap gabungan mungkin berbeza bergantung pada susunan tatasusunan dalam pembolehubah allArrays.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Semua Gabungan (Produk Cartesian) Nilai daripada Tatasusunan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!