JavaScript menyediakan cara yang mudah untuk menentukan produk Cartesian bagi beberapa tatasusunan. Produk Cartesian melibatkan penggabungan unsur-unsur daripada setiap tatasusunan untuk membentuk tatasusunan baharu, menghasilkan setiap gabungan yang mungkin.
Sebagai contoh, memandangkan tatasusunan [1, 2] dan [10, 20], produk Cartesian akan menjadi [[1, 10], [1, 20], [2, 10], [2, 20]].
const cartesian = (...a) => a.reduce((a, b) => a.flatMap(d => b.map(e => [d, e].flat())));
Penyelesaian ini menggunakan dua ciri JavaScript utama:
Array.reduce(...): Ia digunakan untuk menggabungkan tatasusunan secara rekursif, dengan setiap langkah melakukan perkara berikut:
let output = cartesian([1, 2], [10, 20], [100, 200, 300]);
Ini akan menghasilkan:
[[1, 10, 100], [1, 10, 200], [1, 10, 300], [1, 20, 100], [1, 20, 200], [1, 20, 300], [2, 10, 100], [2, 10, 200], [2, 10, 300], [2, 20, 100], [2, 20, 200], [2, 20, 300]]
JavaScript terus berkembang, dan ciri baharu yang diperkenalkan dalam ECMAScript 2020 membolehkan kami menulis kod yang lebih ringkas dan cekap. Penyelesaian yang dipertingkat ini menunjukkan kuasa JavaScript moden untuk masalah yang rumit.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengira Produk Cartesan Berbilang Tatasusunan dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!