>웹 프론트엔드 >JS 튜토리얼 >JavaScript 배열에 값이 존재하는지 효율적으로 확인하려면 어떻게 해야 합니까?

JavaScript 배열에 값이 존재하는지 효율적으로 확인하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-07 22:52:13792검색

How Can I Efficiently Determine if a Value Exists in a JavaScript Array?

배열 값 결정에 대한 심층 탐색

JavaScript에서는 요소가 배열 내에 존재하는지 확인하는 것이 일반적인 프로그래밍 작업일 수 있습니다. 이 문제를 해결하기 위해 배열 반복 기술을 도입합니다.

제공되는 함수:

Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--) {
        if (this[i] == obj) {
            return true;
        }
    }
    return false;
}

안타깝게도 이 함수는 지속적으로 false를 반환합니다. 한 가지 잠재적인 문제는 if 문에 사용되는 동등 연산자(==)에 있습니다. 이 연산자는 엄격한 동등성보다는 유형 강제를 확인합니다. 이 줄을 if (this[i] === obj)로 수정하면 문제가 해결됩니다.

그러나 jQuery의 유틸리티 함수를 사용하면 더 효율적이고 간결한 솔루션을 사용할 수 있습니다.

$.inArray(value, array)

이 함수는 배열에서 특정 값의 위치를 ​​검색하여, 발견되면 인덱스를 반환하고, 없으면 -1을 반환합니다.

제공된 예:

arrValues = ["Sam","Great", "Sample", "High"]
alert(arrValues.contains("Sam"));

예상되는 출력은 사용자 정의 함수를 사용하여 true(동등성 검사를 수정한 후)이거나 jQuery의 $.inArray를 사용하여 0이 될 것입니다.

위 내용은 JavaScript 배열에 값이 존재하는지 효율적으로 확인하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.