위코드 중간 시험을 보고 search method와 includes method를 사용하는 문제가 나와 정리를 하게 되었다.
search()
method 는 정규 표현식에 대해 문자열을 찾습니다.
search()
method 는 첫 번째 일치 항목의 인덱스(위치)를 반환합니다.
search()
method 는 일치하는 항목이 없으면 -1을 반환합니다.
search()
method 는 대소문자를 구분합니다.
string.search(searchValue)
search()
method는 시작 위치에 인수를 사용할 수 없습니다.
indexOf()
method는 정규식을 검색할 수 없습니다.
search()
method는 첫 번째 일치 항목의 위치를 반환합니다.
match()
method는 일치하는 배열을 반환합니다.
includes()
method는 문자열에 지정된 문자열이 포함되어 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.
includes()
method는 대소문자를 구분합니다.
string.includes(searchvalue, start)
getFind
함수를 작성하세요.
문자와 문자열이 주어졌을때, getFind
함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환합니다.
Notes: 문자열의 첫번째 문자는 인덱스 값 0 을 가집니다. 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다. 만약 문자가 문자열에 존재하지 않는다면, -1
을 반환해야 합니다.
중요!! indexOf
함수를 사용하지 마세요.
const output = getFind('a', 'I am a hacker')
console.log(output) // --> 2
function getFind(filter, sentence) {
const findText = sentence.includes(filter); //boolean 결과 값을 나타냄
let cutText = sentence.search(filter); //sentence 항목에 filter index가 있다면 해당 위치를 반환하고 그렇지 않으면 -을 반환합니다.
if (findText === false) {
return -1;
}
if (findText === true) {
return cutText;
}
}
참고 및 출처
https://www.w3schools.com/jsref/jsref_search.asp
https://www.w3schools.com/jsref/jsref_includes.asp