함수를 선언해야 합니다. 예를 들어 insertAllPositions는 두 개의 인수를 취합니다 -
요소 x 및 배열 arr. 함수는 가능한 위치에 x가 삽입된 arr에 해당하는 각 배열과 함께 배열의 배열을 반환해야 합니다.
즉, arr이 길이 N이면 결과는 N + 1개의 배열 -
이 있는 배열입니다.예를 들어, insertAllPositions(10, [1,2,3])의 결과는 -
여야 합니다.상수 출력 =[ [10,1,2,3], [1,10,2,3], [1,2,10,3], [1,2,3,10]];사전>이 함수는 순전히 재귀를 사용하여 작성해야 합니다.
예시
다음은 코드입니다 -
const arr =[1, 2, 3];const num =10;const insertAllPositions =(num, arr) => { return arr.length ? [[num, ...arr]] .concat(insertAllPositions(num, arr.slice(1)) .map(el => { return [arr[0]].concat(el); })) :[[ num]]};console.log(insertAllPositions(num, arr));출력
이것은 콘솔에 다음과 같은 출력을 생성합니다 -
[ [ 10, 1, 2, 3 ], [ 1, 10, 2, 3 ], [ 1, 2, 10, 3 ], [ 1, 2, 3, 10 ] ]