자바스크립트에서 2차원 배열을 1차원 배열로 변환하는 두가지 방법을 소개합니다.
여기서 2차원 배열의 의미는 arr
처럼 배열 안에 1차원 배열이 있는 객체를 말합니다. 1차원 배열은 arr2
처럼 배열 안에 객체들만 있는 것을 말합니다.
const arr = [['a', 'b'], ['c', 'd'], ['e', 'f']];
const arr2 = [ 'a', 'b', 'c', 'd', 'e', 'f' ];
1. reduce()를 이용하여 2차원 배열을 1차원 배열로 변환
reduce()와 concat()
을 이용하여 2차원 배열을 1차원으로 변환할 수 있습니다.
reduce()
는 배열의 첫번째 요소부터 마지막 요소까지 순회하면서 연산을 수행하고, 누적된 객체 하나를 리턴하는 함수입니다. 배열을 순회하면서 concat()
으로 요소를 1차원 배열로 만듭니다. 그리고 A.concat(B)
는 A 배열의 요소와 B 배열의 요소를 모두 합쳐 하나의 배열로 리턴하는 함수입니다.
const arr = [['a', 'b'], ['c', 'd'], ['e', 'f']];
const arr2 = arr.reduce(function (acc, cur) {
return acc.concat(cur);
});
console.log(arr2);
Output:
[ 'a', 'b', 'c', 'd', 'e', 'f' ]
1.1 concat() 대신에 Spread operator로 구현
두개 배열을 하나의 배열로 만들 때, concat()
대신에 아래와 같이 Spread operator를 사용할 수 있습니다.
const arr = [['a', 'b'], ['c', 'd'], ['e', 'f']];
const arr2 = arr.reduce(function (acc, cur) {
return [...acc, ...cur];
});
console.log(arr2);
2. for 반복문으로 2차원 배열을 1차원 배열로 변환
forEach()와 concat()
을 이용하여 2차원 배열을 1차원으로 만들 수 있습니다. 아래와 같이 배열의 모든 요소를 순회하면서 1차원 배열로 변환하도록 구현할 수 있습니다.
const arr = [['a', 'b'], ['c', 'd'], ['e', 'f']];
let arr2 = [];
arr.forEach((element) => {
arr2 = arr2.concat(element);
})
console.log(arr2);
Output:
[ 'a', 'b', 'c', 'd', 'e', 'f' ]
2.1 concat() 대신에 Spread operator로 구현
위와 마찬가지로 concat()
대신에 Spread operator를 사용할 수도 있습니다.
const arr = [['a', 'b'], ['c', 'd'], ['e', 'f']];
let arr2 = [];
arr.forEach((element) => {
arr2 = [...arr2, ...element];
})
console.log(arr2);
Loading script...
Related Posts
- Javascript - 현재 날짜/시간을 항상 한국 기준으로 가져오기
- Javascript - 문자열 사이에 문자 넣기
- Javascript - 버튼 활성화/비활성화 시키는 방법
- Javascript - 버튼 이름 변경하기
- Javascript - div 안의 내용 가져오기, 변경, 추가, 삭제
- Javascript - <ol>, <ul>에 <li> 동적 추가, 삭제
- Javascript - div 생성, 추가, 삭제 방법
- Javascript - 테이블 행(tr) 숨기기, 보이기
- Javascript - div에 링크 거는 방법
- Javascript - 자식 요소(element) 개수 확인
- Javascript - 요소(element) 복사, 붙여넣기
- Javascript - div에 클릭 이벤트(onclick) 설정 방법
- Javascript - 체크박스 선택/해제 시, 텍스트박스 활성화/비활성화
- Javascript - input 숫자만 입력받도록 설정
- Javascript - 자식 노드 모두 제거
- Javascript - 체크박스 선택, 해제 방법
- Javascript - input text 값 가져오기
- JavaScript - 문자열을 배열(Array)로 변환
- JavaScript - 특정 문자열의 포함 여부 확인 (includes, 정규표현식)
- JavaScript - 문자열 비교 방법, 5가지
- JavaScript - 문자열 바꾸기(replace, 정규식 치환)
- JavaScript - 배열 전체 출력 (for, forEach, for in, for of)
- JavaScript - 한번만 실행되는 함수 (once: true)
- JavaScript - 선택된 checkbox 값 가져오기
- JavaScript - element(버튼, div) 보이기 숨기기
- JavaScript - 숫자를 배열로 변경하는 방법
- JavaScript - div, 태그 안의 내용 가져오기
- JavaScript - 부모, 형제, 자식 element 찾기
- JavaScript - 클래스 이름으로 element 찾는 방법
- JavaScript Array find() 함수
- JavaScript Array splice() 함수
- JavaScript의 contains() 함수
- JavaScript sort() 함수, 예제 소개
- JavaScript - Set 생성 및 초기화
- JavaScript Set add() 함수