복잡한 다차원 배열 생성

  • 배열을 데이터 구조로 생각할 때 가장 강력한 기능 중 하나는 배열이 다른 배열을 포함하거나 완전히 구성될 수 있다는 것입니다. 이전 과제에서 어레이를 포함하는 어레이를 보았습니다. 그러나 배열은 다른 배열을 포함할 수 있는 무한한 깊이의 배열을 포함할 수 있습니다. 이러한 방식으로 배열은 다차원 또는 중첩 배열로 알려진 매우 복잡한 데이터 구조가 될 수 있습니다.
  • 예:

  • let nestedArray = [ // level 1
      ['deep'], //level 2
      [
        ['deeper'], ['deeper'] //level 3
      ],
      [
        [
          ['deepest'], ['deepest'] //level 4
        ],
        [
          [
            ['deepest-est?'] //level 5
          ]
        ]
      ]
    ];
    


  • deep 배열은 2단계 깊이로 중첩됩니다. deeper 배열의 깊이는 3단계입니다. deepest 배열은 4개 레벨이고 deepest-est? 배열은 5입니다.
  • 이 예가 어려워 보일 수 있지만 이러한 수준의 복잡성은 대량의 데이터를 처리할 때 전례가 없는 것이 아니며 심지어 드문 일도 아닙니다. 그러나 브래킷 표기법을 사용하여 이 복잡한 배열의 가장 깊은 수준에 여전히 매우 쉽게 액세스할 수 있습니다.

  • console.log(nestedArray[2][1][0][0][0]); This logs the string deepest-est?
    


  • 다른 예를 살펴보겠습니다.

  • let myNestedArray = [ /Level 1
      ['unshift', false, 1, 2, 3, 'complex', 'nested'],
      [
        'loop',
        'shift',
         6,
         7,
         1000,
         'method',
         ['deep',
           [ 'deeper',
             ['deepest']  
           ]
         ]
      ],
      ['concat', false, true, 'spread', 'array'],
      ['mutate', 1327.98, 'splice', 'slice', 'push'],
      ['iterate', 1.3849, 7, '8.4876', 'arbitrary', 'depth']
    ];
    


  • 배열과 동일하게 설정된 변수 myNestedArray를 정의했습니다. myNestedArray에는 데이터 요소에 대한 문자열, 숫자 및 부울 조합이 있습니다. 세 번째 수준의 어딘가에 문자열deep을 포함하고, 네 번째 수준에 문자열deeper을 포함하고, 다섯 번째 수준에 문자열deepest을 포함합니다.

  • console.log(myNestedArray[1][6][1][1][0]); // will display deepest
    

    좋은 웹페이지 즐겨찾기