> 웹 프론트엔드 > 프런트엔드 Q&A > es6 2차원 배열을 1차원 배열로 변환하는 방법

es6 2차원 배열을 1차원 배열로 변환하는 방법

WBOY
풀어 주다: 2022-04-25 16:57:49
원래의
3304명이 탐색했습니다.

es6에서는 flat() 메서드를 사용하여 2차원 배열을 1차원 배열로 변환할 수 있습니다. 이 메서드는 기본적으로 배열 레이어를 "평탄화"합니다. 매개변수를 사용하여 레이어 수를 설정할 수 있습니다. 이 메서드는 새 배열만 반환하며 원래 배열은 변경되지 않으며 구문은 "2차원 array.Flat()"입니다.

es6 2차원 배열을 1차원 배열로 변환하는 방법

이 튜토리얼의 운영 환경: Windows 10 시스템, ECMAScript 버전 6.0, Dell G3 컴퓨터.

es6 2차원 배열을 1차원 배열로 변환하는 방법

메서드: flat(); 매개변수 2, 3, 4..., Infinity를 허용합니다.

Flat():

1. -차원 배열- -->1차원 배열입니다. 이 메서드는 새 배열을 반환하며 원본 데이터에는 영향을 주지 않습니다.

[1,2,[2,3],[2,2]].flat()
//[1, 2, 2, 3, 2, 2]
로그인 후 복사

2.flat()는 기본적으로 하나의 레이어만 "평면화"하며 기본값은 1입니다. 다중 레이어 중첩 배열을 "평면화"하려면 flat() 메서드의 매개 변수를 다음과 같이 작성할 수 있습니다. 레이어를 병합하려는 것을 나타내는 정수입니다.

[1, 2, [3, [4, 5]]].flat()
// [1, 2, 3, [4, 5]]
[1, 2, [3, [4, 5]]].flat(2)
// [1, 2, 3, 4, 5]
로그인 후 복사

3. 중첩 수준에 상관없이 1차원 배열로 변환하려면 Infinity 키워드를 매개변수로 사용하면 됩니다.

원래 배열에 공백이 있는 경우 flat() 메서드는 공백을 건너뜁니다.

[1, [2, [3,4]]].flat(Infinity)
// [1, 2, 3, 4]
[1, 2, , 4, 5].flat()
// [1, 2, 4, 5]
로그인 후 복사

예제는 다음과 같습니다.

        const a = [1, 2, 3, 4, 3];
 
        const b = [3, 4, [5, 6]];
 
        const c = [3, 4, [5, 6, [7, 8]]];
 
        // 不传默认是二维数组降一维数组
        console.log(a.concat(b).flat());  // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6]
 
        console.log(a.concat(c).flat(3))  // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8]
 
        // 如果数组嵌套太过复杂可直接传值Infinity
        console.log(a.concat(c).flat(Infinity)) // 打印为[1, 2, 3, 4, 3, 3, 4, 5, 6, 7, 8]
로그인 후 복사

[관련 권장 사항: javascript 비디오 튜토리얼, web front-end]

위 내용은 es6 2차원 배열을 1차원 배열로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
es6
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿