JavaScript/기초

자바스크립트[기초] Array.prototype.join | Array.prototype.flat

뿌비 2022. 4. 18. 19:17
728x90

Array.prototype.join

  • 원본 배열의 모든 요소를 문자열로 변환한 후, 인수로 전달받은 문자열, 즉 구분자로 연결한 문자열을 반환한다.
  • 구분자는 생략 가능하며 기본 구분자는 콤마(',')이다.
const arr =[1,2,3,4];

// 기본 구분자는 콤마 , 이다 
// 원본 배열 arr의 모든 요소를 문자열로 변환한 후 기본 구분자로 연결한 문자열을 반환한다.
arr.join();   // '1,2,3,4';

// 원본 배열 arr의 모든 요소를 문자열로 변환한 후 빈 문자열로 연결한 문자열을 반환한다.
arr.join(''); // '1234'

// 원본 배열 arr의 모든 요소를 문자열로 변환한 후 구분자 ':'로 연결한 문자열을 반환한다.
arr.join(':');// '1:2:3:4'

 Array.prototype.flat

  • ES10에서 도입된 flat 메소드는 인수로 전달한 깊이만큼 재귀적으로 배열을 평탄화 한다.
  • 중첩 배열을 평탄화할 깊이를 인수로 전달할 수 있다. 
  • 인수를 생략할 경우 기본값은 1이다.
  • 인수로 Infinity를 전달하면 중첩 배열 모두를  평탄화 한다.
[1,[2,3,4,5]].flat(); //[1,2,3,4,5]

// 중첩 배열을 평탄화하기 위한 깊이 값의 기본값은 1이다
[1,[2,[3,[4]]]].flat(); //[1,2,[3,[4]]]
[1,[2,[3,[4]]]].flat(1); //[1,2,[3,[4]]]

// 중첩 배열을 평탄화하기 위한 깊이 값을 2로 지정하여 2단계 깊이 까지 평탄화 한다.
[1,[2,[3,[4]]]].flat(2); //[1,2,3,[4]]

// 2번 평탄화한 것과 동일하다.
[1,[2,[3,[4]]]].flat().flat(); //[1,2,3,[4]]

// 중첩 배열을 평탄화 하기 위한 깊이 값을 Infinity로 지정하여 중첩 배열 모두를 평탄화한다.  
[1,[2,[3,[4]]]].flat(Infinity); //[1,2,3,4]
728x90