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

JavaScript 중첩 배열을 처리하고 중첩된 수준에 따라 숫자의 순서를 표시하는 방법은 무엇입니까?

<시간/>

다음과 같은 중첩된 숫자 배열이 있다고 가정합니다. -

상수 arr =[23, 6, [2,[6,2,1,2], 2], 5, 2];

이 배열의 숫자(요소)를 화면에 출력하는 프로그램을 작성해야 합니다.

숫자의 인쇄 순서는 중첩된 수준에 따라야 합니다. 따라서 위의 입력에 대한 출력은 다음과 같아야 합니다. -

23
6
   2
      6
      2
      1
      2
   2
5
2

예시

이에 대한 코드는 -

<!DOCTYPE html>
<html>
<head>
   <meta charset="utf−8">
   <meta name="viewport" content="width=device−width">
   <title>PATTERN</title>
</head>
<body>
   <script>
      const arr = [23, 6, [2, [6, 2, 1, 2], 2], 5, 2];
      arr.reduce(function iter(level) {
         return function (node, item) {
            var pTag = document.createElement('p');
            pTag.style.marginLeft = level + 'px';
            node.appendChild(pTag);
            if (Array.isArray(item)) {
               item.reduce(iter(level || 50), pTag);
            } else {
               pTag.appendChild(document.createTextNode(item));
            }
            return node;
         };
      }(0), document.body);
   </script>
   <p></p>
</body>
</html>

그리고 화면의 출력은 -

JavaScript 중첩 배열을 처리하고 중첩된 수준에 따라 숫자의 순서를 표시하는 방법은 무엇입니까?