Array.flat() - 배열 내에서 중첩된 배열 병합

7535 단어 javascript
Array 메서드 시리즈의 세 번째 기사에서는 플랫 메서드와 작동 방식에 대해 설명합니다.

플랫 방법이란 무엇입니까?



배열의 flat 메서드는 배열 내에서 중첩 배열을 평면화하는 데 사용됩니다. 중첩 배열이란 무엇입니까?

const array = [1, 2, [3, 4, [5, 6]]]

[3, 4, [5, 6]]는 기본 배열 내에 중첩되고 [5,6]도 이전 배열에 중첩됩니다.
flat 메서드를 사용하면 이러한 중첩 배열을 부모 배열에 연결할 수 있습니다.
flat 메서드의 반환된 출력은 연결된 항목을 포함하는 새 배열입니다.

플랫 메서드의 구문




array.flat(depth)

depth 인수는 연결할 중첩 수준을 지정합니다. 이 예를 사용하여:

[1, 2, [3, 4, [5, 6]]]


깊이 1 - [3, 4, [5, 6]깊이 2 - [5, 6]깊이 3 - 세 번째 깊이가 없습니다.
depthInfinity 를 전달할 수도 있습니다. 이는 가장 깊은 중첩 배열 🔥 하하를 중첩 해제하기 위해 더 깊어집니다.

플랫 방식을 사용하지 않고



다음은 Flat 메서드 없이 배열을 평면화하는 방법입니다.

const array = [1, 2, [3, 4, [5, 6]]]
const flattenedArr = []

// for 2 levels
for (let i = 0; i < array.length; i++) {
  const item = array[i]

  if (!Array.isArray(item)) {
    // not an array
    flattenedArr.push(item)
  } else {
    // for the first level
    for (let j = 0; j < item.length; j++) {
      const item2 = item[j]

      if (!Array.isArray(item2)) {
        // not an array
        flattenedArr.push(item2)
      } else {
        // for the second level
        flattenedArr.push(...item2)
      }
    }
  }
}

console.log(flattenedArr)
// [ 1, 2, 3, 4, 5, 6 ]


배열을 평평하게 하기 위한 루핑 및 루핑. flat 방법은 확실히 생명의 은인입니다 😅

NB: flat 방법 없이 수행하는 유일한 방법은 아닙니다. this StackOverflow discussion에서 더 많은 방법을 확인하십시오.

플랫 방식으로




const array = [1, 2, [3, 4, [5, 6]]]
const flattenedArr = array.flat(2)
// or array.flat(Infinity)

console.log(flattenedArr)
// [ 1, 2, 3, 4, 5, 6 ]


브라우저 지원


flat 메서드는 ES2019에 도입되었으며 현재 브라우저 지원gotten from MDN이 여기에 표시됩니다.



꽤 좋아.

좋은 웹페이지 즐겨찾기