ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [wecode 2주차] JavaScript Exam(2)
    Trainings/Exam 2020. 5. 2. 21:36

    [ 문제 ]

    "get_prefix" 함수를 작성하세요.

    문자열이 주어졌을 때, "-"를 기준으로 앞에 있는 문자열을 반환하세요.

     

    [ 결과 ]

    console.log(get_prefix('BTC-KRW')) // --> BTC

     

     

    [내가 짠 코드]

    function get_prefix(str){
      const n = str.indexOf('-');
      console.log(n)
      return str.slice(0, n);
    }
    get_prefix("BTC-KRW"); // 함수 호출

     

    먼저 "get_prefix" 함수를 정의하고,  인자 값이 문자열이기 때문에 매개 변수 이름은 문자열을 의미하는 str로 설정했다.

    우리는 "-"를 기준으로 앞에 있는 문자열을 반환해야한다.

    "-"를 기준으로 정하기 위해서 indexOf()라는 내장 함수를 이용했다.

    indexOf() 란?

    → indexOf() 메서드는 호출한 String객체에서 주어진 값과 일치하는 첫 번째 인덱스를 반환한다. 일치하는 값이 없으면 -1을 반환합니다.

    즉, 문자열안에 "-"의 위치를 반환해주는 기능을 가진다.

    console.log(n)으로 확인해보면 값은 3이다. 

    왜냐하면, 배열처럼 문자열의 첫 문자 또한 0부터 시작하기 때문이다.

    이제 "-"의 위치를 알아냈으니까 맨 앞부터 n까지의 문자열을 추출하기만 하면 된다.

    그 문자열을 추출하기 위해 나는 slice()라는 내장 함수를 사용했다.

    slice() 란?

    str.slice(beginIndex[, endIndex]) 이런 식으로 사용하며,

    beginIndex

    추출 시작점인 0부터 시작하는 인덱스이다. 만약 음수라면, beginIndex는  strLength(문자열 길이) + beginIndex로 취급된다.

    예를 들어 beginIndex가 -3이면 시작점은 strLength - 3이고, 만약 beginIndex가 strLength 보다 크거나 같은 경우, slice()는 빈 문자열을 반환한다.

    endIndex

    0부터 시작하는 추출 종료점 인덱스로 그 직전까지 추출된다.  인덱스 위치의 문자는 추출에 포함되지 않는다. 만약 endIndex가 생략된다면, silce()는 문자열 마지막까지 추출된다. 만약 음수라면, endIndex는 strLength(문자열 길이) + endIndex로 취급됩니다(예를 들어 endIndex가 -3이면 시작점은 strLength - 3).

    따라서, slice(0, n)의 의미는 첫 번째 문자부터 n번째 전까지의 문자를 의미한다.

    즉, 첫번째 문자에서 "-"의 위치 전까지의 문자열이 출력되는 것을 볼 수 있다.

     

    'Trainings > Exam' 카테고리의 다른 글

    [wecode 2주차] JavaScript Exam(5)  (0) 2020.05.02
    [wecode 2주차] JavaScript Exam(4)  (0) 2020.05.02
    [wecode 2주차] JavaScript Exam(3)  (0) 2020.05.02
    [wecode 2주차] JavaScript Exam(1)  (0) 2020.05.02

    댓글

Designed by Tistory.