javascript - Jquery의 inArray 메소드는 객체 판단을 지원하지 않습니까?
漂亮男人
漂亮男人 2017-05-19 10:23:32
0
3
866

배열 요소가 숫자나 문자열인 경우에는 작동하지만 객체인 경우에는 작동하지 않습니다

漂亮男人
漂亮男人

모든 응답 (3)
Ty80

js의 객체는 참조 유형 값이며, 두 객체의 비교는 참조된 메모리 주소의 비교입니다. 다음 코드와 같습니다:

으아아아

이 두 객체는 동일한 것처럼 보이지만 힙 메모리에 있는 서로 다른 객체를 참조하므로 동일하지 않습니다.

inArray의 구현은 배열을 순회하여 배열의 각 항목을 대상 값과 비교하고, 같으면 인덱스 값을 반환하고, 같지 않으면 -1을 반환해야 합니다. 위의 이유로 인해 참조 값은 별도로 선언된 두 개체가 동일하지 않으므로 -1이 반환됩니다.

    阿神

    일반적으로 이렇게 이해하면 배열은 객체이지만 객체가 반드시 배열은 아닙니다. inArray는 배열에서 작동합니다

      習慣沉默

      소스 코드에서는 isArray: Array.isArray가 사용됩니다. 내부에 객체를 포함할 수도 있지만 외부 레이어는 []이어야 합니다.

      으아아아
        최신 다운로드
        더>
        웹 효과
        웹사이트 소스 코드
        웹사이트 자료
        프론트엔드 템플릿
        회사 소개 부인 성명 Sitemap
        PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!