본문 바로가기

Language/Javascript

[Javascript] ES6 Array helper

배열과 관련된 작업을 보다 깔끔하게 처리할 수 있는 ES6의 Array helper에 대해서 알아보자.

 

1) forEach

  • 배열의 요소를 하나씩 반환하여 함수를 실행.
const example_array = ['apple','banana','peach','blue berry'];

example_array.forEach((elem)=>{
	//배열의 요소를 elem이라는 변수로 하나씩 파라미터로 전달한다.
	console.log(elem);
});

 

2) map

  • 배열의 각 요소에 대해 주어진 함수로 처리되어 리턴된 새로운 배열을 만들어 준다.
  • return이 없는 요소의 경우는 undefined처리가 됨.
const example_array = ['apple','banana','peach','blue berry'];

//전달된 함수의 return값으로 새로운 배열을 생성!
const new_array = example_array.map((elem)=>`${elem} juice`);

console.log(example_array);
console.log(new_array);

 

3) filter

  • 주어진 함수에 대해 테스트를 통과한 요소로 이루어진 새로운 배열을 만들어 준다.
const example_array = [0,1,2,3,4,5,6,7,8,9,10];

//주어진 함수 조건에 맞는 요소로 이루어진 배열 return
const result_array = example_array.filter((elem)=>elem>5);

console.log(example_array);
console.log(result_array);

 

4) find

  • 주어진 함수를 충족하는 요소를 return해준다. 만약에 조건에 충족하는 배열 요소가 없으면 undefined를 return.
const example_array = [0,1,2,3,4,5,6,7,8,9,10];

const result = example_array.find((elem)=> elem===10);
const result2 = example_array.find((elem)=> elem===11);

console.log(result)//result는 10
console.log(result2)//result2는 undefined

 

5) every

  • 모든 요소가 주어진 함수의 테스트 조건을 충족하는가?
  • 모두 테스트를 통과하면 true, 아니면 false return.
const example_array = [0,1,2,3,4,5,6,7,8,9,10];

let result = example_array.every((elem)=>elem>5);
console.log(result);//result 는 false

result = example_array.every((elem)=>elem<=10);
console.log(result);//result 는 true

 

6) some

  • 적어도 하나의 요소가 주어진 함수의 테스트 조건을 충족하는가?
  • 테스트를 통과하는 요소가 하나라도 있으면 true, 아니면 false return
const example_array = [0,1,2,3,4,5,6,7,8,9,10];

let result = example_array.some((elem)=>elem===10)
console.log(result);//result는 true;

result = example_array.some((elem)=>elem===11);
console.log(result);//result는 false

 

7) reduce

  • accumulator(누산값)와 배열의 각 요소를 함수 연산하여 한 가지 value로 줄여나가는 method.

 

const example_array = [0,1,2,3,4,5,6,7,8,9,10];

//reduce
//param1 : 가산 함수
//param2 : accumulator의 초기값
const score = example_array.reduce((acc,elem)=>acc+elem,0);

console.log(score); //55