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 |