문자열 배열 문자열

devMarco·2022년 4월 1일
0
function sliceCityFromAddress(address) {
  let array = address.split(" ") /* array = ['경기도', '성남시',
  '분당구' ...]spilt메소드들 이용하여  주소들의 문자열을 " " 띄어쓰기 간격으로
  배열로 바꾸어 준다.*/
  
  for(let i=0; i<array.length; i++){
    
    let str = array[i]; /* str = '경기도', '성남시', ....
    배열의 인덱스들이 각각 들어온다. */
    if(str[str.length-1] === '시'){
      /*"시"의 위치는 항상 문자열의 맨마지막에만 있다.*/
      array.splice(i, 1) /*slice를 사용하면 "시" 위치가 달라질 때 마다 다른 조건을 줘야 한다.*/ 
    }
  }
   return array.join(' ')
  //배열을 문자열로 바꿔주는 메소드
}

console.log(sliceCityFromAddress("경기도 성남시 분당구 중앙공원로 53"))

이 문제에서 생기는 문제점으로는 "시"를 가진 문자열의 length가 항상 달라 질수 있고
위치가 맨 앞[0], 중간, 맨 뒤[address.length-1] 어느 위치에도 들어갈 수가 있다.
그래서 indexOf 와 slice 사용이 아닌 문자열을 배열로 배열을 다시 문자열로 바꿔주는 함수
split()join 그리고splice( , ) 를 사용 해주었다.

0개의 댓글