Computer >> Máy Tính >  >> Lập trình >> Javascript

Tạo tất cả các hoán vị có thể có của mảng trong JavaScript


Chúng tôi được cung cấp một mảng các số nguyên riêng biệt và chúng tôi bắt buộc phải trả về tất cả các hoán vị có thể có của các số nguyên trong mảng.

Ví dụ -

Nếu mảng đầu vào là -

const arr = [1, 2, 3];

Sau đó, đầu ra phải là -

const output = [
   [1,2,3],
   [1,3,2],
   [2,1,3],
   [2,3,1],
   [3,1,2],
   [3,2,1]
];

Ví dụ

Mã cho điều này sẽ là -

const arr = [1, 2, 3];
const findPermutations = (arr = []) => {
   let res = []
   const helper = (arr2) => {
      if (arr2.length==arr.length)
      return res.push(arr2)
      for(let e of arr)
      if (!arr2.includes(e))
      helper([...arr2, e])
   };
   helper([])
   return res;
};
console.log(findPermutations(arr));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[
   [ 1, 2, 3 ],
   [ 1, 3, 2 ],
   [ 2, 1, 3 ],
   [ 2, 3, 1 ],
   [ 3, 1, 2 ],
   [ 3, 2, 1 ]
]