sliceCityFromAddress
함수를 구현해 주세요.
sliceCityFromAddress
함수는 address 를 인자로 받습니다.
address
는 주소를 나타내는 string 입니다.- 주어진 주소에서 도시를 찾아 삭제하고 새로운 주소를 리턴해 주세요.
- 도시는 무조건 ‘시’로 끝납니다. 예) “서울특별시”, “성남시”
- ‘시’는 주소에 한번만 포함되어 있습니다.
- 예를 들어, 다음과 같은 주소가 주어졌다면
"경기도 성남시 분당구 중앙공원로 53"
다음과 같은 값이 리턴되어야 합니다:
"경기도 분당구 중앙공원로 53"
주소에서 "시" 로 끝나는 단어를 빼는 함수를 만들어야 한다.
함수를 만들기 전에 String 관련된 기본 함수들을 살펴보자.
대소문자 바꿀 때 사용한다.
let name = "Kim Boyoon";
let upperName = name.toUpperCase();
let lowerName = name.toLowerCase();
console.log(upperName); // KIM BOYOON
console.log(lowerName); // kim boyoon
문자길이 구할 때 사용한다.
예를 들어, 회원가입할 때 10자 이상으로 작성했는지 체크할 때 사용된다.
let name = "개발자"
console.log(name.length); // 3
let phoneNumber = "01012349876";
console.log(phoneNumber); // 01012349876
console.log(phoneNumber.length); // 11
number
형은 length 라는 속성이 없으므로
number
형의 길이를 재려면 string
형으로 저장해야 한다.
문자열 찾기
해당 문자열에 특정 문자열이 들어있는지 확인하고,
있다면 몇번째 순서에 있는지 알려준다.
문자열이 없다면 -1 을 반환한다.
예를 들어, 댓글을 달 때 댓글에 해당 단어가 포함된다면 댓글을 달지 못하게 하는 기능이 있다.
텍스트를 잘라주는 함수
slice(시작위치, 끝위치)
끝 위치의 문구는 포함하지 않는다.
let info = "JavaScript 는 프로래밍 언어이다.";
let word = info.indexOf("프로래밍"); // 12
if (word !== -1) {
info = info.slice(0,word) + "프로그래밍" + info.slice(word+4, info.length);
}
console.log(info); // JavaScript 는 프로그래밍 언어이다.
slice(0,12) 니까 12번째 글자는 포함이 안된, 즉 12번째 글자 앞에서 잘린다.
텍스트를 나누는 함수
텍스트를 나눠서 배열로 반환한다.
split (나누는 기준, 0번째 부터 반환하는 끝 번호)
let text = "How are you doing today?";
const myArray1= text.split(" ");
let word = myArray1[1];
const myArray2 = text.split(" ", 3);
console.log(text); // "How are you doing today?"
console.log(myArray1); // ['How','are','you','doing','today?']
console.log(word); // 'are'
console.log(myArray2); // ['How','are','you']
배열에서 요소들을 제거하거나 추가하는 함수
splice(위치, 제거할 개수, 추가할 정보)
const fruits = ['Banana', 'Orange', 'Apple', 'Mango'];
fruits.splice(2, 0, 'Lemon', 'Kiwi');
console.log(fruits); // ['Banana','Orange', 'Apple', 'Lemon', 'Kiwi', 'Mango']
문자열에 단어가 포함되어있는지 확인하는 함수
return 값이 true / false 가 나옴
배열을 string으로 붙여주는 함수
const fruits = ["Banana", "Orange", "Apple", "Mango"];
let text = fruits.join(" and ");
console.log(text); // Banana and Orange and Apple and Mango
다시 처음의 문제를 풀어보자.
다음의 과정으로 생각해보았다.
function sliceCityFromAddress(address) {
let city = address.split(" "); // 1번
for (let i = 0; i < city.length; i++) {
if (city[i].includes("시")) { // 2번
city.splice(i,1); //3번
}
}
return city.join(" "); //4번
}
sliceCityFromAddress("경기도 성남시 중앙공원로 53")
sliceCityFromAddress('서울특별시 강남구 역삼동')
결론 : 어렵따,,,