Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 가능한 모든 배열 순열 생성


고유한 정수 배열이 주어지며 배열에 있는 정수의 가능한 모든 순열을 반환해야 합니다.

예를 들어 -

입력 배열이 -

인 경우
const arr = [1, 2, 3];

그러면 출력은 다음과 같아야 합니다. -

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

예시

이에 대한 코드는 -

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));

출력

콘솔의 출력은 -

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