본문 바로가기

Javascript/이론+예제

배열함수 forEach()

forEach()

forEach는 매개변수로 함수를 받는다! 왓? 함수가 함수를 받아??

그렇다 배열 함수는 함수를 매개변수로 받습니다.

예를 들자면,

let names = [
    "Steven Paul Jobs",
    "Bill Gates",
    "Mark Elliot Zuckerberg",
    "Elon Musk",
    "Jeff Bezos",
    "Warren Edward Buffett",
    "Larry Page",
    "Larry Ellison",
    "Tim Cook",
    "Lloyd Blankfein"
]

function printName(item){
    console.log(item)
}

names.forEach(printName)

밑에 보면, forEach 에 내가 만든 함수를 넣어주는거다!

printName에 있는 매개변수는 뭐냐면, names라는 객체의 아이템들을 forEach()가 알아서 전달해주는거라규.

그래서 forEach에 넣어준 함수에는 names의 아이템들이 쏙쏙 들어가고 있단 말이지요.

이름을 꼭 item이라고 안해도됨!!!

그리고 또, 꼭 함수를 따로 만들어서 넣지 않아도 됨. 어떻게 하냐면?

let names = [
    "Steven Paul Jobs",
    "Bill Gates",
    "Mark Elliot Zuckerberg",
    "Elon Musk",
    "Jeff Bezos",
    "Warren Edward Buffett",
    "Larry Page",
    "Larry Ellison",
    "Tim Cook",
    "Lloyd Blankfein"
]



names.forEach(function (item){
    console.log(item)
})

이렇게 함수명을 안 만들고도 가능하다는 것!

이런 함수를 익명 함수 (Anonymous function) 라고도 한답니당.

어.. 그럼 화살표 함수도 될까? 웅!

let names = [
    "Steven Paul Jobs",
    "Bill Gates",
    "Mark Elliot Zuckerberg",
    "Elon Musk",
    "Jeff Bezos",
    "Warren Edward Buffett",
    "Larry Page",
    "Larry Ellison",
    "Tim Cook",
    "Lloyd Blankfein"
]



names.forEach((item) => {
    console.log(item)
})

요로코롬.. 사용해주면 된당. 화살표 함수를 처음 본 사람은 전 글을 확인하도록 해주소..

근데 forEach는 아이템만 전달해줄까??

아니! index까지 전달해줘 (헉)

forEach는 두번째 매개변수로 index까지 준다!

let names = [
    "Steven Paul Jobs",
    "Bill Gates",
    "Mark Elliot Zuckerberg",
    "Elon Musk",
    "Jeff Bezos",
    "Warren Edward Buffett",
    "Larry Page",
    "Larry Ellison",
    "Tim Cook",
    "Lloyd Blankfein"
]



names.forEach((item, index) => {
    console.log(item, index)
})

이렇게 해주면, 아이템과 아이템 인덱스번호까지 콘솔로그에 나오게 됩니당 아주 좋아요^^

물론 꼭 index라고 안적어도됨. 다른 이름도 가능 ! (두번째에 꼭 써줘야함)

 

'Javascript > 이론+예제' 카테고리의 다른 글

배열 함수 every()  (0) 2022.10.20
배열함수 some()  (0) 2022.10.20
배열함수 filter()  (0) 2022.10.20
배열함수 map()  (0) 2022.10.20
ES6 자바스크립트 최신 문법 정리  (0) 2022.10.20