- sliceCityFromAddress 함수는 address 를 인자로 받습니다.
- address 는 주소를 나타내는 string 입니다.
- 주어진 주소에서 도시를 찾아 삭제하고 새로운 주소를 리턴해 주세요.
- 도시는 무조건 ‘시’로 끝납니다. 예) “서울특별시”, “성남시”
- ‘시’는 주소에 한번만 포함되어 있습니다.
includes()
function sliceCityFromAddress(address) {
let arraddress = address.split(" ")
for (let i =0; i<arraddress.length; i++){
if(arraddress[i].includes('시')){
arraddress.splice(i,1)
}
} return arraddress.join(" ")
}
console.log(sliceCityFromAddress("경기도 성남시 분당구 중앙공원로 53"))
1. '시'의 index값 구하기 indexOf()
2. 반복문 +조건문으로 '~시'부분 잘라내기 slice()
▪️ 조건1:
'~시'가 문장 중간에 있을때
let city= address.indexOf('시') for (let i =city; i>=0; i--){ // '시'의 인덱스 이전글자들을 확인 if(address[i]=== " "){ // 확인된 글자가 공백일때 result= address.slice(0,i)+address.slice(city+1,address.length) return result; // 공백부터 '시'까지 제거 후, 나머지 문자열을 이어준다. }
▪️ 조건2:
'~시'가 문장맨 앞에 있을때.
else if(address[city-i] === address[city]){ // i가 0일때만 가능 === '~시'가 가장 앞에 있음. result= address.slice(city+2,address.length) return result; }
function sliceCityFromAddress(address) {
let city= address.indexOf('시')
let result
for (let i =city; i>=0; i--){
if(address[i]=== " "){
result= address.slice(0,i)+address.slice(city+1,address.length)
return result;
}else if(address[city-i] === address[city]){
result= address.slice(city+2,address.length)
return result;
}
}
}