# 자바스크립트 과제 - 배열 함수 2주차 일요일 (2/18) ### map 문제 * 모든 이름을 대문자로 바꾸어서 출력하시오. ```javascript= let upperCaseName = names.map((item)=>item.toUpperCase()) console.log(upperCaseName) ``` * 성을제외한 이름만 출력하시오. (예-["Steven","Bill","Mark","Elon"…]) ```javascript= let firstNames = names.map((item)=>item.split(' ')[0]) console.log(firstNames) ``` * 이름의 이니셜만 출력하시오. (예-["SPU","BG","MEZ","EM"…]) ```javascript= let initialOnly = names.map((item) => { let splitName = item.split(" "); let initial = ""; splitName.forEach((nameItem) => (initial += nameItem[0])); return initial; }) console.log(initialOnly) ``` ### filter 문제 * 이름에 a를 포함한 사람들을 출력하시오. ```javascript= let includeA = names.filter((item)=>item.includes('a')) console.log(includeA) ``` * 이름에 같은 글자가 연속해서 들어간 사람을 출력하시오. (예-tt,ff,ll 이런 글자들) ```javascript= let doubleLetter = names.filter((item) => { let splitName = item.split(""); return splitName.some((letter, index) => letter == splitName[index + 1]); }) console.log(doubleLetter) ``` ### some 문제 * 전체 이름의 길이가 20자 이상인 사람이 있는가? ```javascript= console.log(names.some((item)=>item.length>=20)) ``` * 성을 제외한 이름에 p를 포함한 사람이 있는가?(대소문자 상관 no) ```javascript= console.log(names.some((item)=>{ let splitName = item.split(' ') splitName.pop() return splitName.some(eachName=>eachName.toLocaleLowerCase().includes("p")) })) ``` ### every 문제 * 모두의 전체 이름의 길이가 20자 이상인가? ```javascript= console.log(names.every(item=>item.length>=20)) ``` * 모두의 이름에 a 가 포함되어 있는가? ```javascript= console.log(names.every(item=>item.includes('a'))) ``` ### find 문제 * 전체 이름의 길이가 20자 이상인 사람을 찾으시오. ```javascript= console.log(names.find(item=>item.length>=20)) ``` * 미들네임이 포함되어있는 사람을 찾으시오.(예-Steven Paul Jobs) ```javascript= console.log(names.find(item=>item.split(' ').length>=3)) ``` ### findIndex 문제 * 전체 이름의 길이가 20자 이상인 사람의 인덱스 번호를 찾으시오. ```javascript= console.log(names.findIndex(item=>item.length>=20)) ``` * 미들네임이 포함되어있는 사람의 인덱스 번호를 찾으시오. ```javascript= console.log(names.findIndex(item=>item.split(' ').length>=3)) ```