Bae

[Javascript] 배열(join, concat, map, filter, reduce) 본문

Javascript

[Javascript] 배열(join, concat, map, filter, reduce)

Bae:) 2022. 2. 13. 09:00

 

ㅁ 기타 배열 메소드

join(): 배열의 모든 요소를 이어붙여 하나의 문자열로 반환, 선택적으로 각각의 요소를 구분할 문자를 인자로 가질 수 있음

* 생략할 경우 기본 구분자는 , 쉼표

const arr = ['hi', 'my', 'name', 'is', 'bae'];

console.log(arr.join());	// hi,my,name,is,bae 출력
console.log(arr.join(" / "));	// hi / my / name / is / bae 출력

 

concat(): 인자로 주어진 배열을 기존 배열에 합쳐 새로운 배열로 반환

const arr = ['hi', 'my', 'name', 'is', 'bae'];
const add = ['1', '2'];

console.log(arr.concat(add));	
// ['hi', 'my', 'name', 'is', 'bae', '1', '2'] 출력
console.log(arr.concat('hello', 'jang'));	
// ['hi', 'my', 'name', 'is', 'bae', 'hello', 'jang'] 출력

 

map(): 배열의 모든 요소들에 각각 주어진 함수를 실행한 뒤 그 결과들을 모아 새로운 배열로 반환, 필수 인자로 실행할 함수 필요

실행할 함수는 필수 인자로 값을 가지며, 선택적으로 값의 인덱스와 map()을 호출한 배열을 가질 수 있음

* forEach()와 유사하지만 forEach()는 반환값이 없지만 map()은 새로운 배열을 반환

const arr = [1, 2, 3, 4, 5];
const newArr = arr.map((value) => value * 3);

console.log(newArr);	// [3, 6, 9, 12, 15] 출력

 

filter(): 주어진 판별 함수의 결과값이 참인 요소들만 모아 새로운 배열로 반환, 필수 인자로 실행할 함수 필요

실행할 함수는 필수 인자로 값을 가지며, 선택적으로 값의 인덱스와 map()을 호출한 배열을 가질 수 있음

* 판별 함수의 테스트를 통과한 요소가 없다면 빈 배열 반환

const arr = [1, 2, 3, 4, 5];
const newArr = arr.filter((value) => value > 3);

console.log(newArr);	// [4, 5] 출력

 

reduce(): 필수 인자로 리듀서함수, 선택 인자로 리듀서 함수에 제공할 초기값을 가짐

배열의 각 요소에 대해 주어진 리듀서 함수를 실행한 뒤, 하나의 값을 반환

const arr = [1, 2, 3, 4, 5];
const reducer = (acc, val) => acc + val;

console.log(arr.reduce(reducer));	// 15 출력
console.log(arr.reduce(reducer, 20));	// 35 출력

 

Comments