반응형
array.contains의 jquery 버전
jQuery는 (핵심 기능의 일부로 또는 사용 가능한 플러그인을 통해) 객체의 존재에 대해 배열을 테스트 할 수 있습니까?
또한 array.remove
배열에서 주어진 객체를 제거하는 것과 같은 것을 찾고 있습니다. jQuery가이를 처리 할 수 있습니까?
jQuery.inArray 는 검색 한 항목과 일치하는 첫 번째 인덱스를 반환하거나 찾을 수없는 경우 -1을 반환합니다.
if($.inArray(valueToMatch, theArray) > -1) alert("it's in there");
array.remove가 필요하지 않습니다. 스플 라이스 사용 :
theArray.splice(startRemovingAtThisIndex, numberOfItemsToRemove);
또는 jQuery.grep 유틸리티를 사용하여 "제거"를 수행 할 수 있습니다 .
var valueToRemove = 'someval';
theArray = $.grep(theArray, function(val) { return val != valueToRemove; });
목록에 요소 목록이 포함 된 경우 jQuery.not 또는 jQuery.filter 를 사용 하여 "array.remove"를 수행 할 수 있습니다 . (원래 질문의 높은 Google 점수 때문에 답변이 추가되었습니다).
개체를 제거하는 방법을 찾았습니다.
foot = { bar : 'test'};
delete foot[bar];
이것은 jQuery가 아니지만 한 줄로 편리한 'contains'메서드를 배열에 추가 할 수 있습니다. 나는 이것이 가독성에 도움이된다는 것을 알았다 (특히 파이썬 사람들에게).
Array.prototype.contains = function(a){ return this.indexOf(a) != -1 }
예제 사용
> var a = [1,2,3]
> a.contains(1)
true
> a.contains(4)
false
마찬가지로 제거
Array.prototype.remove = function(a){if (this.contains(a)){ this.splice(this.indexOf(a),1)}; return this}
> var a = [1,2,3]
> a.remove(2)
[1,3]
또는 변경된 배열이 아닌 제거 된 것을 반환하려면
Array.prototype.remove = function(a){if (this.contains(a)){ return this.splice(this.indexOf(a),1)}}
> var a = [1,2,3]
> a.remove(2)
[2]
> a
[1,3]
참조 URL : https://stackoverflow.com/questions/450717/jquery-version-of-array-contains
반응형
'Development Tip' 카테고리의 다른 글
float를 위치 형식의 문자열로 변환 (과학 표기법 및 잘못된 정밀도 없음) (0) | 2021.01.07 |
---|---|
try .. catch .. finally로 Javascript 오류 처리 (0) | 2021.01.07 |
.NET은 Java Properties 클래스에 해당하는 속성 파일을로드하고 구문 분석 할 수 있습니까? (0) | 2021.01.07 |
다른 도메인에서 RESTful 웹 서비스를 사용하기위한 적절한 "철도 방법"은 무엇입니까? (0) | 2021.01.07 |
POM의 Maven 업데이트 종속성 (0) | 2021.01.07 |