문자열 배열과 문자열이 하나 있습니다. 이 문자열을 배열 값과 비교하여 테스트하고 결과에 조건을 적용하고 싶습니다. 배열에 문자열 "A"가 포함되어 있으면 "B"를 수행하십시오.문자열 배열에 JavaScript에서 하나의 문자열이 포함되어 있는지 확인하는 방법은 무엇입니까?
어떻게하면됩니까?
문자열 배열과 문자열이 하나 있습니다. 이 문자열을 배열 값과 비교하여 테스트하고 결과에 조건을 적용하고 싶습니다. 배열에 문자열 "A"가 포함되어 있으면 "B"를 수행하십시오.문자열 배열에 JavaScript에서 하나의 문자열이 포함되어 있는지 확인하는 방법은 무엇입니까?
어떻게하면됩니까?
이 배열의 요소의 인덱스를 반환합니다 (아래 인터넷 익스플로러 8을 제외한) 모든 배열이 indexOf
방법, 또는 -1 배열에없는 경우 :
if (yourArray.indexOf("someString") > -1) {
//In the array!
} else {
//Not in the array
}
이전 IE 브라우저를 지원해야하는 경우 the MDN article의 코드를 사용하여이 메소드를 polyfill 할 수 있습니다.
이 당신을 위해 그것을 할 것입니다 :
function inArray(needle, haystack) {
var length = haystack.length;
for(var i = 0; i < length; i++) {
if(haystack[i] == needle)
return true;
}
return false;
}
내가 스택 오버플로 질문 JavaScript equivalent of PHP's in_array()에서 발견했다. 다음과 같은 결과를
Array.prototype.contains = function(element){
return this.indexOf(element) > -1;
};
:
["A", "B", "C"].contains("A")
이 true
동일
는그리고 여러분은 현대의 브라우저가 지원하는 indexOf를 재발 명했습니다. – epascarello
... IE9 이전에는 IE에서 지원하지 않습니다. 많은 사람들이 포함되어 있습니다. IE8 (그리고 슬프게도 IE7은 대부분의 시간)을 위해 개발해야합니다. 틀림없이 indexOf 함수를 만드는 프로토 타입 메서드는 게시 한 내용에 대한 바람직한 해결책입니다. – ollie
var stringArray = ["String1", "String2", "String3"];
return (stringArray.indexOf(searchStr) > -1)
이 같은 방법 contains
와 Array 클래스를 "확장"는 indexOf
방법을 사용할 수 있습니다 ["A", "B", "C"].contains("D")
은 false
좋은 답변이지만 indexOf를 사용할 때 이전 IE 버전에 대한 호환성 문제를 언급 할 가치가 있습니다. –
아무도 신경 쓰지 않습니다. 심지어 마이크로 소프트도 있습니다 : D – andygoestohollywood
@andygoestohollywood 슬프게도 일부 회사는 여전히 IE를 사용합니다. 일부 기업이 석기 시대에 있다고해서 그것이 시장의 9 %를 덤프해야한다는 것을 의미하지는 않습니다. –
이 함수 프로토 타입을 만들기 :
Array.prototype.contains = function (needle) {
for (i in this) {
if (this[i] == needle) return true;
}
return false;
}
을 한 다음 배열에서 검색하는 코드를 사용할 수 있습니다 X
if (x.contains('searchedString')) {
// do a
}
else
{
// do b
}
[왜 "for ... in"을 사용하여 배열 반복과 같은 나쁜 생각입니까?] (https://stackoverflow.com/questions/500504/why-is-using- for-in-with-array-iteration 같은 나쁜 아이디어) – Bergi
를 체크 아웃 : http://stackoverflow.com/questions/237104/array -containsobj-in-javascript –
indexOf [MDN Docs] (https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf) – epascarello
배열을 반복하여 하나씩 비교하십시오! – SachinGutte