Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

항해일지

[TIL]온보딩 스터디 Day 06 본문

항해99/TIL

[TIL]온보딩 스터디 Day 06

효환 2023. 3. 12. 01:43

 

 

오늘 공부한걸 다시한번 풀어보았다.

/**
*   메시지 발송 함수
*   @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 ...)

객체의 성질을 이해하는게 더 필요해보인다.

코딩 문법이 아직 많이 미숙하다. 반복된 공부로 해결해야겠다.

Comments