배열에 값이 있는지 확인 (AngularJS)
이 질문에 이미 답변이 있습니다.
현재 저는 forEach()
객체 배열로 새 값을 확인하기 위해 -method of angular를 사용하고 있습니다. 그러나 예를 들어 목록에 20 개의 개체가 있기 때문에 이는 잘못된 접근 방식입니다. 기존 기사로 객체를 생성 할 때 forEach의 if 문은 기사가 존재하고 19 번 존재하지 않음을 알려줍니다.
다음 코드 :
var list = [];
articlelist.forEach(function (val) {
list.push(val.artNr);
});
$log.info(list);
에 articlelist
20 개의 개체가 모두 포함됩니다. 비교를 위해서는 artNr
. 사용자가 새 기사를 만들 때 추가 된 artNr이 이미 존재하는지 확인하기 위해 if-Statement 여야하기 때문입니다.
$scope.createItem = function (createItem) {
if(list.artNr === createItem.artNr) {
$scope.message = 'artNr already exists!';
}
...
};
문제는 list.artNr이 목록 변수가 배열이기 때문에 "undefined"를 반환한다는 것입니다.
콘솔의 목록 출력 =>
Array ["AB001", "AB002", "AB003", "AB004"]
,createItem 출력 : =>
Object { artNr: "AB001", description: "New Article" ...}
새로 생성 된 객체를 목록 변수의 배열과 어떻게 비교할 수 있습니까?
indexOf
기능을 사용할 수 있습니다 .
if(list.indexOf(createItem.artNr) !== -1) {
$scope.message = 'artNr already exists!';
}
indexOf에 대한 추가 정보 :
- http://www.w3schools.com/jsref/jsref_indexof_array.asp
- https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/String/indexOf
indexOf () 사용할 수 있습니다 . 처럼:
var Color = ["blue", "black", "brown", "gold"];
var a = Color.indexOf("brown");
alert(a);
같이 IndexOf () 메소드를 검색하여, 지정된 항목에 대한 배열을 반환 위치. 그리고 반환 -1 항목이 발견되지 않는 경우.
처음부터 끝까지 검색하려면 lastIndexOf () 메서드를 사용하십시오 .
var Color = ["blue", "black", "brown", "gold"];
var a = Color.lastIndexOf("brown");
alert(a);
검색은 지정된 위치에서 시작하거나 시작 위치가 지정되지 않은 경우 끝에서 시작되고 배열의 시작 부분에서 검색이 종료됩니다.
항목이 없으면 -1을 반환합니다 .
U는 이런 식으로 사용할 수 있습니다 ....
function (field,value) {
var newItemOrder= value;
// Make sure user hasnt already added this item
angular.forEach(arr, function(item) {
if (newItemOrder == item.value) {
arr.splice(arr.pop(item));
} });
submitFields.push({"field":field,"value":value});
};
참조 URL : https://stackoverflow.com/questions/32610282/check-if-value-exists-in-the-array-angularjs
'programing' 카테고리의 다른 글
새 연결을 생성하지 않고 몽구스 연결 상태 확인 (0) | 2021.01.18 |
---|---|
Android 지원 디자인 라이브러리와 함께 제공되는 FAB에 그림자를 추가하는 방법은 무엇입니까? (0) | 2021.01.17 |
Android MVP : Interactor 란 무엇입니까? (0) | 2021.01.17 |
연도를 4 자리에서 2 자리로 변환하고 다시 C #으로 변환 (0) | 2021.01.17 |
Junit 4가 기본 테스트 클래스를 무시하도록하는 방법은 무엇입니까? (0) | 2021.01.17 |