항해일지
[TIL]온보딩 스터디 Day 06 본문
오늘 공부한걸 다시한번 풀어보았다.
/**
* 메시지 발송 함수
* @param {userName} string
*/
function sendMessage(userName) {
console.log(`[메시지 발송] ${userName}님 에게 메시지를 발송했습니다.`);
}
// ---------------- 시 작 ------------------- //
// 1. 쇼핑몰을 운영하고 있습니다. 각 회원들의 정보를 관리하기 위해 데이터화하세요.
// 회원정보는
// 아이디, 이름, 나이, 이메일, 레벨, 보유 포인트, 마케팅 수신동의여부
// 정보를 포함하고 있습니다.
// (레벨은 1~3까지)
let members = [{
id : 'gyghks99',
name : '김효환',
age : 28,
email : 'gyghks0378@naver.com',
level : 1,
point : 2000,
marketing : true
},{
id : 'hanghae84',
name : '항해84',
age : 84,
email : 'gyghks0378@naver.com',
level : 2,
point : 3000,
marketing : false
},{
id : 'hanghae99',
name : '아무개',
age : 30,
email : 'gyghks0378@naver.com',
level : 3,
point : 5000,
marketing : true
}]
console.log(members)
console.clear()
// 2.
// 마케팅 수신이 가능한 회원분들에게
// SendMessage 함수를 사용해 메시지를 발송하세요.
for(member of members){
if(member.marketing === true){
sendMessage(member.name)
}
}
console.clear()
// 3.
// 이벤트를 진행하기로 했습니다. 레벨 2이상 회원에게 5000포인트를 지급하세요.
for(member of members){
if(member.level <= 2){
member.point += 5000
}
}
console.log(members)
console.clear()
// 4.
// 고객중 hanghae99 아이디를 사용하고있는 유저가 회원탈퇴 했습니다.
// 회원정보에서 제외하세요.
const delMember = []
for(member of members){
if(member.id !== 'hanghae99'){
delMember.push({...member})
}
}
console.log(delMember)
console.clear()
const testMember = members.filter(({id}) => id !== 'hanghae99')
console.log(testMember)
// 5.
// 새로운 회원이 가입했어요.
// 회원의 정보는 아래와 같습니다.
// 회원정보를 추가하세요.
// 아이디: sparta
// 나이: 20
// 이름: 파르타
// 이메일: sparta@coding.com
// 레벨: 3
// 수신여부: 동의
// 보유포인트: 0
const addMember = [...members, {
id : 'dsad',
name : '아무dasd개',
age : 30,
email : 'gyghkdsads0378@naver.com',
level : 3,
point : 500220,
marketing : true
}]
console.log(addMember)
// 6.
// 운영정책이 변경되어 생년월일 정보를 추가하기로 하였습니다.
// 이전 회원의 경우 생년월일을 할 수 없으니 null 값으로 채워넣고
// 앞으로 가입하는 회원의 경우 생년월일을 입력받도록 하려고 합니다.
const birthMember = members.map((member) => {
member.birthday = null
return member
})
console.log(birthMember)
// ---------------- 끝 ------------------ //
다시 풀어보면서 메소드의 중요함을 깨달았다.
for문으로 코드가 길어지는걸 메소드로 코드의 가독성을 높일수 있었다.
모자란점
메소드의 공부가 더 필요하다.( map, forEach,filter ...)
객체의 성질을 이해하는게 더 필요해보인다.
코딩 문법이 아직 많이 미숙하다. 반복된 공부로 해결해야겠다.
'항해99 > TIL' 카테고리의 다른 글
웹개발 종합반 1일차 (0) | 2023.03.20 |
---|---|
[TIL]온보딩 스터디 Day 08 (알고리즘 문제풀이) (0) | 2023.03.13 |
[TIL]온보딩 스터디 Day 05 (객체) (0) | 2023.03.11 |
[TIL]온보딩 스터디 Day 04 (함수) (0) | 2023.03.09 |
[TIL]온보딩 스터디 Day 03 (배열,반복문) (0) | 2023.03.08 |
Comments