문제: 주어진 문자열에 JavaScript에서 사전 정의된 배열의 하위 문자열이 포함되어 있는지 효율적으로 확인하는 방법 ?
해결책:
이 작업에 사용할 수 있는 접근 방식은 두 가지입니다.
array.some() 메서드를 사용하면 배열의 요소 중 하나 이상이 주어진 조건을 만족하는지 확인할 수 있습니다. 다음과 같이 활용할 수 있습니다:
<code class="javascript">if (substrings.some(function(v) { return str.indexOf(v) >= 0; })) { // There's at least one matching substring }</code>
또는 화살표 기능과 include() 메소드를 사용하여:
<code class="javascript">if (substrings.some(v => str.includes(v))) { // There's at least one matching substring }</code>
이 유형의 검색을 위해 특별히 설계된 내장 함수는 없지만 원하는 하위 문자열과 일치하는 정규식을 구성하고 해당 문자열에 대해 test() 메서드를 사용할 수 있습니다. 그러나 이 접근 방식은 큰 배열과 문자열의 경우 계산 비용이 많이 들 수 있습니다.
<code class="javascript">const regex = new RegExp(`( ${substrings.join(' | ')} )`, 'g'); if (regex.test(str)) { // There's at least one matching substring }</code>
다음과 같은 하위 문자열 배열과 서로 다른 두 문자열을 고려해 보세요.
<code class="javascript">const substrings = ["one", "two", "three"]; let str1 = "this has one"; let str2 = "this doesn't have any";</code>
array.some() 접근 방식 사용:
<code class="javascript">if (substrings.some(v => str1.includes(v))) { console.log(`Match using "${str1}"`); } else { console.log(`No match using "${str1}"`); }</code>
출력:
Match using "this has one"
<code class="javascript">if (substrings.some(v => str2.includes(v))) { console.log(`Match using "${str2}"`); } else { console.log(`No match using "${str2}"`); }</code>
출력:
No match using "this doesn't have any"
위 내용은 JavaScript의 배열에서 부분 문자열 일치를 효율적으로 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!