Pilihan dalam JavaScript: Tatasusunan Integer
Dalam JavaScript, tugas biasa ialah menjana pilih atur tatasusunan. Permutasi melibatkan penyusunan elemen tatasusunan dalam semua susunan yang mungkin. Pertimbangkan fungsi yang mengambil tatasusunan integer dan mengembalikan tatasusunan semua pilihatur yang mungkin, di mana setiap pilihatur mempunyai panjang yang sama dengan tatasusunan asal.
Untuk mengubah suai fungsi yang disediakan, yang beroperasi pada rentetan, untuk berfungsi dengan tatasusunan integer, beberapa pengubahsuaian diperlukan. Pertama, kaedah pisah yang digunakan untuk mencipta tatasusunan aksara daripada rentetan tidak boleh digunakan terus pada tatasusunan integer. Sebaliknya, tatasusunan boleh diulang dan setiap elemen boleh ditolak ke tatasusunan baharu:
const integers = [...input];
Seterusnya, kaedah gabungan yang digunakan untuk menggabungkan aksara dalam pilih atur rentetan tidak boleh digunakan dengan integer. Sebaliknya, kaedah concat boleh digunakan untuk mencipta tatasusunan baharu yang mengandungi semua integer:
if (integers.length === 0) { permArr[permArr.length] = [...usedChars]; }
Selebihnya fungsi kekal sama, dan ia kini akan menjana semua pilih atur yang mungkin bagi tatasusunan integer dan kembalikannya sebagai tatasusunan tatasusunan:
let permArr = []; let usedChars = []; function permute(input) { const integers = [...input]; for (let i = 0; i < integers.length; i++) { const ch = integers.splice(i, 1); usedChars.push(ch); if (integers.length === 0) { permArr[permArr.length] = [...usedChars]; } permute(integers); integers.splice(i, 0, ch); usedChars.pop(); } return permArr; }
Fungsi yang diubah suai ini boleh menjana pilih atur tatasusunan integer dan mengembalikannya sebagai tatasusunan tatasusunan, setiap satu mengandungi pilih atur yang berbeza.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjana Semua Pilihatur bagi Tatasusunan Integer dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!