[TIL] JavaScript - string review

이나현·2021년 7월 9일
0

JavaScript

목록 보기
5/13
post-thumbnail

string

Javascrip string은 문자열이다.

문자열의 길이로 회원가입을 받을 때 이름에 10자가 넘어갔는지 체크하거나 핸드폰 번호의 유의미한 입력값을 체크할 때 유용하게 사용된다.

if(phoneNumber.length !== 10 && phoneNumber.length !== 11) {
	alert("폰 번호 제대로 입력하셨나요?")
    }

또한 문자열을 찾아서 욕설이 포함된 댓글 등을 미연에 방지할 수 있다.

string Assignment

▪sliceCityFromAddress 함수는 address 를 인자로 받습니다.
▪address 는 주소를 나타내는 string 입니다.
▪주어진 주소가 어느 도시 인지를 찾아 해당 주소에서 도시 부분만 삭제한 새로운 주소를 리턴해 주세요.
▪도시는 무조건 "시" 로 끝납니다. 예를 들어, "서울시".
▪"도" 와 "시" 는 주소에 한번 밖에 포함되어 있지 않습니다.
▪예를 들어, 다음과 같은 주소가 주어졌다면

"경기도 성남시 분당구 중앙공원로 53"

다음과 같은 값이 리턴되어야 합니다:

"경기도 분당구 중앙공원로 53"

1) 원래 코드

funcition sliceCityFromAddress(address) {
	let city = address.indesOf('시');
	let sliceCity = address.slice(0, city-2) + address.slice(city+2, address.length);
	return sliceCity;
}

1-2) 원래 코드의 문제점

원래 코드의 문제점은 성남시, 수원시 등 'xx시'로 3글자 짜리는 괜찮지만, 서울특별시 처럼 3글자 이상의 글자는 출력하지 못한다.

2) 수정 코드

function sliceCityFromAddress(address) {
  let blank = address.indexOf(" ");
  let city = address.indexOf('시');

  if(city > blank) {
    return address = address.slice(0, city-2) + address.slice(city+2, address.length);
  } else {
    return address = address.slice(city+2, address.length);
  }
  return address;


}

console.log(sliceCityFromAddress("서울특별시 분당구 중앙공원로 53"))

3) 수정 부분

  1. 사고방식
  • 글자수가 기준이 아닌 "시"라는 글자와 공백을 기준으로 나눈다.
  • 이유)
    1) "서울특별시 강서구 가양동" / "제주특별시 00구"
    2) "경기도 00시 분당구" 등
    => "0000시"의 경우에는 가장 앞에 위치하고, "00시"의 경우에는 앞에 경기도가 붙어서 앞에 공백이 있고 없고를 기준으로 나눈다.
  1. 공백 만들기
  • 기준이 될 공백을 만든다.
let blank = address.indexOf(" ");
  1. 조건문
    1) "" blank가 "시" 앞에 있을 때, 2글자 삭제

    if(city > blank) {
       return address = address.slice(0, city-2) + address.slice(city+2, address.length);

    2) "시"앞에 공백이 없을 때에는 "시" 이후의 글자를 모두 내보내기

    else {
       return address = address.slice(city+2, address.length);
     }
    
  2. 후기
    예시에 대해 한번이라도 손으로 작성해보았으면 좋겠다는 생각을 했다. 내가 하려고 하는 코딩과 그 결과물이 어떤 것인지 고민을 하고 진행해야겠다는 생각을 했다.

profile
technology blog

0개의 댓글