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

JavaScript의 달팽이 흔적 문제

<시간/>

다음과 같은 배열이 있다고 가정합니다 -

상수 arr =[ [1, 2, 3, 4], [12,13,14,5], [11,16,15,6], [10,9, 8, 7]]; 

배열은 정방 행렬로 바인딩됩니다.

우리는 이 배열을 취하고 요소를 취하고 중심으로 수렴할 때까지 나선형으로 새로운 배열을 구성하는 JavaScript 함수를 작성해야 합니다. 매트릭스의 외부와 내부를 나선형으로 도는 달팽이 흔적입니다.

따라서 위 배열의 출력은 -

여야 합니다.
상수 출력 =[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];

따라서 이 함수에 대한 코드를 작성해 보겠습니다. 재귀를 사용하여 이 문제를 해결할 것입니다.

예시

이에 대한 코드는 -

 const arr =[ [1, 2, 3, 4], [12,13,14,5], [11,16,15,6], [10,9, 8, 7]]; const spiralForm =arr => { 반환 arr.length> 1 ? arr.splice(0,1)[0] .concat(spiralForm(arr[0].map((c, i) => { return arr.map(r => r[i]); }) .reverse( ))) :arr[0]}console.log(spiralForm(arr));

출력

콘솔의 출력은 다음과 같습니다. -

[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]