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 중국어 웹사이트의 기타 관련 기사를 참조하세요!