簡體   English   中英

angularjs:檢查id是否存在於數組中?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM