고차함수 몇 개 더 알아보기

최경락 (K_ROCK_)·2021년 12월 2일
0

forEach()

  • 배열 내부의 요소에 순차적으로 콜백함수 내부의 내용들을 실행시키는 고차함수.
  • 배열.forEach(function(현재 요소, 현재 인덱스, 받은 배열){로직}) 으로 사용한다.
let arr = ['a', 'b', 'c']

arr.forEach((el, i)=> {
	console.log(`${el}${i+1}번째에 있다.`)
})

// a 은 1번째에 있다 
// b 은 2번째에 있다 
// c 은 3번째에 있다 

find()

  • filter()와 역할이 비슷하지만, 만족하는 조건을 가진 요소중 가장 첫번째의 요소를 반환하는 고차함수.
  • 배열.find(function(현재 요소, 현재 인덱스, 받은 배열){조건}) 으로 사용한다.
  • 약간...querySelector 와 All 의 차이 같가도 하다.
    → 단수와 복수
let arr = [1, 2, 3, 4, 5]

arr.find((el)=>{
  return el % 2 === 0}
) // 2, 단일 요소만 반환한다.

arr.filter((el)=>{
  return el % 2 === 0}
) // [2, 4], 일치하는 모든 요소를 배열로 반환한다.

sort()

  • 배열의 내부를 규칙에 맞게 재정렬하는 고차함수.
  • 아무런 조건도 작성되지 않은 경우에는 숫자가 아닌, 유니코드 기준으로 정렬된다.
  • 원본 배열을 변경시킨다.(mutable)
let arr = [123,435,634,56,53,456,2342,2]

arr.sort() // [123, 2, 2342, 435, 456, 53, 56, 634]
// 글자의 순서처럼 정렬됨

arr.sort((a,b)=> {
  return a - b 
}) // [2, 53, 56, 123, 435, 456, 634, 2342]
// 오름차 순으로 정렬

arr.sort((a,b)=> {
  return b - a 
}) // [2342, 634, 456, 435, 123, 56, 53, 2]
// 내림차 순으로 정렬

some(), every()

  • 조건에 만족하는 요소가 있는 경우 boolean 값을 반환하는 고차함수.
  • 배열.some(function(현재 요소, 현재 인덱스, 받은 배열){조건})
    배열.every(function(현재 요소, 현재 인덱스, 받은 배열){조건}) 로 사용한다.
  • some()하나라도 만족하는 경우 true 를 반환하고,
    every()전부 만족해야한 true를 반환한다.
    AND &&OR || 과 유사하다.
let arr = [1, 2, 3, 4, 5]

arr.some((el)=> {return el % 2 === 0}) // true
// 2, 4 가 만족하므로 true

arr.every((el)=> {return el % 2 === 0}) // false
// 전부 true 가 아니므로 false

0개의 댓글