>  기사  >  웹 프론트엔드  >  평면화된 배열이란 무엇이며 JavaScript의 재귀 함수를 사용하여 평면화된 배열 문제를 어떻게 해결합니까?

평면화된 배열이란 무엇이며 JavaScript의 재귀 함수를 사용하여 평면화된 배열 문제를 어떻게 해결합니까?

王林
王林원래의
2024-07-24 00:13:231117검색

What is a flattened array and How do solving flatten array problem using recursion functions in JavaScript?

소개:

먼저 평면화된 배열이 무엇인지 알아보겠습니다. 평면화된 배열은 배열이지만 이 배열은 다차원 배열, 중첩 배열 또는 다른 배열을 포함하는 배열의 형태입니다.

평면화는 다차원 배열을 평면화라는 하나의 1차원 배열로 줄이는 데 도움이 되는 접근 방식 또는 기술 중 하나입니다.

때때로 프로젝트를 진행하거나 문제를 해결할 때 이런 종류의 데이터가 필요한 경우 평면화된 배열을 사용하여 데이터 세트 그룹을 전달하는 것이 도움이 됩니다.

예:

// This is a flattened array
let arr = [1,44, [2, [3,9], 67], 9];

평면화된 배열 문제를 해결하는 방법은 무엇입니까?

이러한 문제를 해결하는 방법은 여러 가지가 있지만 여기서는 이러한 문제를 해결하는 가장 좋은 방법 중 하나인 재귀 방법을 사용하여 설명하겠습니다.

여기서 Recursion에 대한 자세한 설명은 하지 않고 대략적인 부분만 설명드리고, 더 알고 싶으신 분들을 위해 별도의 포스팅을 작성하겠습니다.

재귀는 작업의 반복 유형 문제를 해결하기 위한 프로그래밍 접근 방식으로, 주어진 특정 조건과 일치하지 않을 때까지 직접 또는 간접적으로 자신을 호출하고, 일치하면 함수가 호출 자체를 중지합니다.

 // This is a flattened array
// Input:
  let arr = [1,44, [2, [3,9], 67], 9];

  // Function Defin 
  function recur(a) {
    let newArr = [];
    for (let i =0 ; i < a.length; i++) {
        const element = a[i];
        if (Array.isArray(element)) {
            // Function calling itself recursion
            newArr.push(...recur(element))
        } else  {
            newArr.push(element)
        }
    }

    return newArr;
  }

console.log(recur(arr))
Output:
[1,44,2,3,9, 67, 9]

// We can also write the same code using for each:
function flattenArray(items) {
    const flat = [];
    items.forEach(item => {
      if (Array.isArray(item)) {
        flat.push(...flatten(item));
      } else {
        flat.push(item);
      }
    });

    return flat;
  }

onsole.log(flattenArray(arr))
output:
[1,44,2,3,9, 67, 9]

위 내용은 평면화된 배열이란 무엇이며 JavaScript의 재귀 함수를 사용하여 평면화된 배열 문제를 어떻게 해결합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:Days of Code 4주차다음 기사:Days of Code 4주차