TIL | JavaScript Replit (Class, ES6, Array Method)

Wook·2021년 11월 19일
0

Asignment | Class

  • MyMath 라는 class를 생성해주세요.
  • constructor 에서는 숫자 2개를 인자로 받아 프로퍼티로 저장합니다.
  • 총 4개의 메서드를 구현해주세요.
    • getNumber : 두 개의 숫자가 무엇인지 배열로 반환하는 메서드 → ex) [1, 2]
    • add : 두 개의 숫자를 더하는 메서드
    • substract : 두 개의 숫자를 빼는 메서드
    • multiply : 두 개의 숫자를 곱하는 메서드

<작성 코드>

class MyMath {
  constructor (num1,num2)
  {
    this.num1=num1; 
    this.num2=num2;
  } 
  getNumber(){
    return [this.num1,this.num2]; // 배열 반환
  }
  add(){
    return (this.num1+this.num2); // 두 수의 합 반환
  }
  substract(){
    return (this.num1-this.num2); // 두 수의 차 반환
    }

  multiply(){
    return (this.num1*this.num2); // 두 수의 곱 반환
  }
}

Assignment | ES6

handleEdit 함수를 구현해 주세요.

  • 쇼핑몰 회원가입에서 한 번 쯤은 아래와 같은 문구를 보셨을 겁니다.
    환영합니다. 위코드님!
    회원가입 기념으로 쿠폰을 적립해 드렸습니다.
    이러한 문구에서는 이름 부분만 계속 바뀌고 나머지 부분은 고정됩니다. 그럼, 이름 부분을 변수로 관리 하겠죠?
  • 그렇다면 handleEdit 라는 이름을 가진 함수를 구현해 봅시다.
  • 이 함수는 nickname, interests 라는 두 string을 인자로 받습니다. nickname은 유저의 닉네임을, interests 는 유저의 관심사를 의미합니다.
  • interests 에는 여러 관심사를 적을 수 있습니다. 그 때 그 관심사의 구분을 콤마(,)를 이용합니다.
  • nicknameinterests 가 문제 없이 잘 들어왔다면 유저 정보를 효율적으로 관리하기 위해서 Object에 이 정보를 담아서 관리할 겁니다.
  • 예를 들어 입력 값이 nickname = "뚜비" , interests = "방탈출,테니스,멍 때리기" 라고 했을 때
  • 아래와 같은 Object를 리턴하도록 구현해 주세요.
    ⚠️ 주의
    • interests 는 배열입니다.
    • interests 를 적을 때 콤마(,) 뒤에 스페이스는 지워주세요.
      {
         nickname: "뚜비",
         interests: ["방탈출","테니스","멍 때리기"],
         bio: "제 닉네임은 뚜비입니다. 취미는 방탈출,테니스,멍 때리기입니다.
      }

<작성 코드>

const handleEdit = (nickname, interests) => {
  const org={};
  org.nickname = nickname;
  org.interests=interests.split(','); 
// split 함수를 통해 , 기준으로 배열을 나눠줌
  org.bio = `제 닉네임은 ${org.nickname}입니다. 취미는 ${org.interests}입니다.`;

  return org;  // 객체 org 리턴
}

Assignment | Array Method

💡 두 문제 모두 `map` 메서드와 arrow function을 사용해주세요.

1. moreThan100 함수를 구현해 주세요.

  • 숫자로 구성된 배열을 인자로 받습니다.
  • 100 보다 크거나 같으면, true
  • 100 보다 작으면 false 로 요소를 변경하여, 새로운 배열을 return 해주세요.
  • 예를 들어,
    nums(input)[100, 9, 30, 7]
    이라면
    
    return[true, false, false, false]

2. formatDate 함수를 구현해 주세요.

  • 날짜가 담긴 배열을 인자로 받습니다.
  • 날짜의 data type은 string이며, 보내는 날짜 타입은 'YYYY-MM-DD' 입니다.
  • 해당 날짜의 형식을 'YYYY년 MM월 DD일' 로 바꿔서, 새로운 배열을 return 해주세요.
  • 예를 들어,
    dates(input)['2019-03-21', '2019-04-21', '2019-05-21']
    이라면
    
    return['2019년 03월 21일', '2019년 04월 21일', '2019년 05월 21일']

<작성 코드>

const moreThan100 = (nums) => {
  return nums.map(x=>{if (x>100) return true;
  else return false;}); // 1번 함수 : map 함수를 통해 조건에 따라 리턴
}


const formatDate = (dates) => {
  return dates.map(x =>
  {
    let indexLine=x.indexOf('-');
    let year = x.slice(0,indexLine); //연도에 해당하는 수 slice
    let month = x.slice(indexLine+1,indexLine+3); 
    //월 해당하는 수 slice
    let date = x.slice(indexLine+4,x.length);
    // 일자에 해당하는 수 slice
    return '${year}년 ${month}월 ${date}일' 
    //ES6 의 표현식으로 최종값 리턴
  })
}

profile
지속적으로 성장하고 발전하는 진취적인 태도를 가진 개발자의 삶을 추구합니다.

0개의 댓글