PHP의 in_array()와 동등한 JavaScript가 있습니까?

Susan Sarandon
풀어 주다: 2024-11-13 06:16:02
원래의
418명이 탐색했습니다.

Is There a JavaScript Equivalent of PHP's in_array()?

JavaScript가 PHP의 in_array() 기능을 모방할 수 있습니까?

PHP에서 in_array()는 값을 배열 내의 값과 비교하여 true를 반환합니다. 일치하는 항목이 발견되면. JavaScript에는 직접적인 대응 기능이 없지만 커뮤니티에서 개발한 라이브러리는 유사한 기능을 제공합니다.

jQuery 또는 Prototype을 사용한 인스턴스 일치

jQuery의 inArray 및 Prototype의 Array.indexOf는 다음과 같이 이 문제를 해결합니다. 반복적으로 값 비교:

// jQuery implementation:
function inArray(needle, haystack) {
  for (var i = 0; i < haystack.length; i++) {
    if (haystack[i] == needle) return true;
  }
  return false;
}
로그인 후 복사

배열 비교

전체 배열을 비교해야 하는 더 복잡한 시나리오의 경우 사용자 정의 함수가 이러한 요구 사항을 충족할 수 있습니다.

function arrayCompare(a1, a2) {
  if (a1.length != a2.length) return false;
  for (var i = 0; i < a1.length; i++) {
    if (a1[i] !== a2[i]) return false;
  }
  return true;
}

function inArray(needle, haystack) {
  for (var i = 0; i < haystack.length; i++) {
    if (typeof haystack[i] == 'object') {
      if (arrayCompare(haystack[i], needle)) return true;
    } else {
      if (haystack[i] == needle) return true;
    }
  }
  return false;
}
로그인 후 복사

사용방법

// Test the custom function:
var a = [['p', 'h'], ['p', 'r'], 'o'];
if (inArray(['p', 'h'], a)) {
  console.log('ph was found');
}
if (inArray(['f', 'i'], a)) {
  console.log('fi was found');
}
if (inArray('o', a)) {
  console.log('o was found');
}
로그인 후 복사

위 내용은 PHP의 in_array()와 동등한 JavaScript가 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿