[英]angularjs: check for an id exists in an array r not
var vm = this; vm.usableDeposits = []; for (var i = 0; i < billableChargeCodes.length; i++) { var deposits = usableDeposits.filter(function(ud) { return ud.billinggroupuid == billableChargeCodes[i].billinggroupuid || ud.billinggroupuid == billableChargeCodes[i].billingsubgroupuid || ud.departmentuid == billableChargeCodes[i].departmentuid || !ud.entypeuid || ud.entypeuid == entypeuid }) for (var i = 0; i < deposits.length; i++) { var depositid = deposits[i]._id;
第一次, vm.usableDeposits[]
為空。 我必須檢查deposits[i]._id
存在於vm.usableDeposits[]
。 如何使用deposits[i]._id
檢查vm.usableDeposits[]
空數組_id? 如果id在vm.usableDeposits[]
不存在,那么我想將元素推入vm.usableDeposits[]
您只需在JavaScript中使用indexOf運算符即可檢查數組中是否存在值。 如果值不在數組中,則返回-1
;否則,返回array
元素的索引。
語法如下:
if(myArray.indexOf(value) !== -1) {
// do this
} else {
// do that
}
希望這可以幫助。
您可以使用.some
deposits.some(o=> vm.usableDeposits.indexOf(o.id))
檢查deposits
數組中的ID是否在vm.usableDeposits
。 .some
將返回true
,如果條件為真,否則為假
$scope.findIndexInData = function(data, property, value) {
var result = -1;
if((!!data) && (!!property) && (!!value)){
data.some(function (item, i) {
if (item[property] === value) {
result = i;
return true;
}
});
}
return result;
}
將數組作為第一個元素傳遞。 屬性是您在該數組中查找的第二個元素和值。
例:
array = [{id:"1234",name:"abc"}, {id:"4567",name"xyz"}]
因此,您需要致電:
index = $scope.findIndexInData(array , 'id' , 4567)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.