Chúng ta cần viết hàm JavaScript nhận vào mảng chuỗi. Hàm tạo và trả về tất cả các tổ hợp có thể của các chuỗi trong mảng.
Ví dụ
Mã thực hiện:
const arr = ['a', 'b', 'c', 'd'];
const permutations = (len, val, existing) => {
if(len==0){
res.push(val);
return;
}
for(let i=0; i {
for(let i=0; i < arr.length; i++){
permutations(arr.length-i, "", []);
}
};
buildPermuations(arr);
console.log(res); Ví dụ
Kết quả in ra console:
[ 'abcd', 'abdc', 'acbd', 'acdb', 'adbc', 'adcb', 'bacd', 'badc', 'bcad', 'bcda', 'bdac', 'bdca', 'cabd', 'cadb', 'cbad', 'cbda', 'cdab', 'cdba', 'dabc', 'dacb', 'dbac', 'dbca', 'dcab', 'dcba', 'abc', 'abd', 'acb', 'acd', 'adb', 'adc', 'bac', 'bad', 'bca', 'bcd', 'bda', 'bdc', 'cab', 'cad', 'cba', 'cbd', 'cda', 'cdb', 'dab', 'dac', 'dba', 'dbc', 'dca', 'dcb', 'a', 'b', 'c', 'd' ]