JavaScript에서 배열에 값이 포함되어 있는지 확인하는 방법은 무엇입니까?
P粉592085423
2023-08-23 11:09:10
<p>JavaScript 배열에 값이 포함되어 있는지 확인하는 가장 명확하고 효율적인 방법은 무엇입니까? </p>
<p>내가 아는 유일한 방법은 다음과 같습니다.</p>
<pre class="brush:php;toolbar:false;">함수에는(a, obj) {
for (var i = 0; i < a.length; i++) {
if (a[i] === obj) {
사실을 반환;
}
}
거짓을 반환;
}</pre>
<p>이를 달성하는 더 좋고 깔끔한 방법이 있습니까? </p>
<p>이것은 스택 오버플로 질문 <em>JavaScript 배열에서 항목을 찾는 가장 좋은 방법은 무엇입니까?와 관련이 있습니다. </em> 밀접하게 관련된 이 질문은 <code>indexOf</code>를 사용하여 배열에서 객체를 찾는 방법을 다룹니다. </p>
2019 업데이트: 이 답변은 2008년(11세!)의 답변이며 최신 JS 사용과 관련이 없습니다. 약속된 성능 개선은 당시 브라우저에서 완료된 벤치마크 테스트를 기반으로 합니다. 최신 JS 실행 컨텍스트와 관련이 없을 수도 있습니다. 간단한 솔루션이 필요하다면 다른 답변을 찾아보세요. 최고의 성능이 필요하다면 관련 실행 환경에서 직접 벤치마킹해보세요.
다른 사람들이 말했듯이 배열을 반복하는 것이 아마도 가장 좋은 방법일 것입니다. 하지만 JavaScript에서 반복을 수행하는 가장 빠른 방법은 하강 루프라는 것이 증명
으아아아while
되었습니다. 따라서 다음과 같이 코드를 다시 작성해야 할 수도 있습니다.물론 Array 프로토타입을 확장할 수도 있습니다.
으아아아이제 간단히 다음을 사용할 수 있습니다.
으아아아최신 브라우저에는
Array#includes
정확히 이 기능이 있으며 IE를 제외한 모든 사람이 널리 지원합니다 :