JavaScript가 상당히 새롭기 때문에 각각을 언제 사용해야하는지 알 수 없습니다.
누구든지 나를 위해 이것을 명확히 할 수 있습니까?
답변
정규식이 필요한 경우을 사용하십시오 search()
. 그렇지 않으면 indexOf()
더 빨라질 것입니다.
답변
답변
search 함수 ( 한 설명은 여기 )는 정규 표현식을 사용하여보다 복잡한 패턴, 대소 문자를 구분하지 않는 문자열 등을 비교할 수 있으며 indexOf ( 한 설명은 여기 )는 단순히 리터럴 문자열과 일치합니다. 그러나 indexOf를 사용하면 시작 색인을 지정할 수도 있습니다.
답변
답변
IndexOf ()-문자열 리터럴 또는 문자열 객체는 허용하지만 정규 표현식 은 허용 하지 않습니다 . 또한 0부터 시작하는 정수 값을 받아 검색을 시작합니다. 예 :
- “babyelephant”.indexOf ( “e”); // 4를 준다
- “babyelephant”.indexOf ( “e”, 5); // 검색이 6 번째 또는 5 번째 인덱스에서 시작하면 6이됩니다.
- var m = / e /; “babyelephant”.indexOf (m); // 정규식을 허용하지 않으므로 -1을 지정합니다.
Search ()-문자열 리터럴 또는 문자열 객체와 정규식을 모두 허용합니다. 그러나 검색을 시작하는 색인을 허용하지 않습니다.
답변
indexOf () 및 search ()
-
둘 다 공통
i) 처음 검색된 값을 반환
ii) 일치하는 것이 없으면 -1을 반환
let str='Book is booked for delivery' str.indexOf('b') // returns position 8 str.search('b') // returns position 8
-
indexOf ()의 스페셜
i) 검색 위치를 두 번째 인수로 지정할 수 있습니다
str.indexOf('k') // 3 str.indexOf('k',4) // 11 (it start search from 4th position)
- 검색 특별 ()
검색 값은 정규식 일 수 있습니다
str.search('book') // 8
str.search(/book/i) // 0 ( /i =case-insensitive (Book == book)