먼저 코딩알려주는누나님 사랑한다고 고백하고 시작해야지💖 코딩알려주는누나의(나한테 언니임) 유투브 동영상을 몇개 보고는 바~로 온라인 강의 결제를 해버린 ㄴ ㅏ~! 그리고 바빠서 한동안 강의를 못 들었다가 요새 다시 강의를 조금씩 듣고있다. 날씨APP 만드는 자그마한 프로젝트 강의인데 영상 하단에 배열 함수에 대한 이해가 부족하면 참고하라고 링크를 달아주셨지 뭐람..? 정말 천사가 따로 없으셔😍 그래서 호다닥 유튜브 영상 보고 벨로그 정리를 해본드아ㅏ아앙 그리고 나 내일 토르 보러가서 진짜 너무너무너무너무 설렘 아무도 날 막을 수 업스센.
for (let i=0; i<names.length; i++) { console.log(name[i]) }
for문의 기본적인 형태를 적어보았다.
for문은 코트카타(알고리즘 문제풀이랑 비슷함)할 때 많이 봤지만 막상 프로젝트에서 쓸 일이 없었다고 한다...
그렇다면 지금부터 코딩알려주는온냐가 말씀하신
🔥Hot🔥한 배열함수 여러개를 바로 소개해본드앙
forEach
의 매개변수는 함수를 받는다.forEach
가 알아서 회전을 하면서 매번 아이템을 하나씩 넘긴다.let names = [ "김혜수", "노해리", "염종은", "빅준형" ] function printName(item) { console.log(item) } names.forEach(printName) // '김혜수' '노해리' '염종은' '박준형'
만약에 printName
함수가 다른데서 안쓰이면 익명함수를 매개변수에 통째로 넣어도 된다.
names.forEach(function(item){ console.log(item) }) // '김혜수' '노해리' '염종은' '박준형'
names.forEach((item)=>{console.log(item)})
forEach
와 map()
의 차이점은 map()
은 배열 안에 담김. forEach
는 반환 해주는 값이 없음.let data = names.map((item)=>{ return item }) console.log(data) // ['김혜수' '노해리' '염종은' '박준형']
//ceoList의 name값만 출력하는 함수 let ceoList = [ {name: "김혜수", age: 23, ceo: true}, {name: "김가나", age: 33, ceo: true}, {name: "김다라", age: 43, ceo: true} ] let info = ceoList.map((item)=>{ return item.name }) console.log(info) //[ '김혜수', '김가나', '김다라' ] 출력
let data2 = ceoList.filter((item)=>{ return item.age==23 }) console.log(data2) //[ { name: '김혜수', age: 23, ceo: true } ] 출력
let data3 = names.filter((item)=>{ return item.startsWith("노") }) console.log(data3) //['노해리'] 출력
let data4 = names.some((item)=>{ return item.startsWith("박") }) console.log(data4) //true 출력
let data5 = names.every((item)=>{ return item.startsWith("김") }) console.log(data5) //false 출력
let data6 = names.every((item)=>{ return item.length>0 }) console.log(data6) //true 출력
filter
는 결과를 배열에 담에서 줌. find
는 해당 값만 하나 준다.filter
는 조건에 속하는 애들 전부 반환함. find
는 첫 번째로 찾은 하나만 반환함.find
는 정확한 값 딱 하나만 찾기에 좋음.let data7 = names.find((item)=>{ return item.startsWith("김") }) console.log(data7) //'김혜수' 출력
let data8 = names.findIndex((item)=>{ return item.startsWith("염종은") }) console.log(data8) //2 출력