substr(), padEnd()

문자열로 된 주민번호가 주어졌을 때 주민번호 뒷자리 7자리를 '*'로 변경해 주는 함수를 만들어주세요.


function securityNumber(str) {
  // padEnd 메서드와 substr 메서드를 사용해 보세요.
  return str.substr(0, 7).padEnd(14, "*");
}
let str = "991122-1111111";
console.log(securityNumber(str)); //'991122-*******'

문서를 보면 substr 메소드는 사용하지 않는 것이 좋다고 하는데....
잘 모르겠다. 사실 문제풀면서 상당히 많이 써가지고;;

아무튼 substr()는 두개의 매개변수를 가지고 있고 시작점과 끝점을 가지고 있다.
다른 메소드들과 마찬가지로 시작점은 이상을 의미하며, 끝점은 미만이라는 특징이 존재한다

그래서 0부터 7이라고 하면 인덱스 0번부터 6번까지 991122- 까지 보여주게 하고
padEnd는 오른쪽에서 왼쪽 방향으로 수를 세서 입력한 값을 하나하나 넣어주는데, 이미 할당되어있는 공간에는 영향을 주지 못한다.

그래서 그 이상의 값만 영향을 줄 수 있기 때문에
substr로 991122- 까지만 보여주고 뒷자리 7개를 padEnd로 쏙쏙 넣어준 느낌이다

padEnd를 잘 쓰나 싶긴 한데... padStart의 경우에는 인증번호 만들때 계속 쓰고 있어서, 이것도 나중에 한번 다뤄봐야할 것 같다

좋은 웹페이지 즐겨찾기