getFind 함수를 작성하세요.
문자와 문자열이 주어졌을때, getFind 함수는 주어진 문자열에서 주어진 문자가 나타나는 첫번째 위치를 반환합니다.
Notes: 문자열의 첫번째 문자는 인덱스 값 0 을 가집니다. 만약 문자열에 해당 문자가 여러번 나타나면, 첫번째로 나타나는 위치를 반환해야 합니다. 만약 문자가 문자열에 존재하지 않는다면, -1 을 반환해야 합니다.
중요!! indexOf 함수를 사용하지 마세요.const output = getFind('a', 'I am a hacker') console.log(output) // --> 2
function getFind(filter, sentence) {
// 아래 코드를 작성해주세요.
let sentenceStr = sentence.split("");
for (let i=0; i<sentenceStr.length; i++) {
if (filter === sentenceStr[i]) {
return i;
}
}
return -1;
}
주어진 문자열을 문자의 배열로 변환시키기 위해, split() 함수에 ""
를 구분자로 주어 각 문자 하나 하나를 배열의 인덱스로 변환하였다. 그리고 for문으로 해당 배열을 순회하고, filter와 배열의 인덱스값이 같다면 해당 인덱스를 리턴해 주었다. 만일 배열을 다 순회했는데도 filter와 같지 않다면, filter의 값이 문자열에 포함되지 않은 것이므로 문제에서 주어진 -1을 반환해주었다.
그리 어려운 문제는 아니었지만, split() 함수의 기능을 다시 한번 익히는 느낌으로 블로깅!