簡體   English   中英

如何從對象數組獲取屬性?

[英]How to get property from an array of object ?

我在json響應中有對象數組,我想從includeAssessmentList數組獲取riskAssessmentKey並將該鍵通過Post Api傳遞到后端,但我無法從數組中獲取屬性。 我該如何完成這項任務?

到目前為止,嘗試過的代碼...。

main.js

$scope.deleteAssess = function(){
          var assessmentKey = [];
          assessmentKey = $scope.rcsaCycleDTO.includeAssessmentList;
          for (var i=0; i<assessmentKey.length; i++) {
              var riskAssessmentKeys = assessmentKey[i];
              console.log(riskAssessmentKeys);
          }
          RcsaFactory.assessmentDetails(assessmentKey,$scope.rcsaCycleDTO.statusLookUpCode).then(function(){
            setConfirmationWinButtons(true, true, true);
            $scope.confirmationWin.open().center();
            $scope.confirmationWin.close();
          });
        };

JSON.js

[{includeAssessmentList: 
0: {cycleName: "Test startassment1", assessmentName: "Algeria_Angola", scopeType: null,…}
assessmentEndDate: "06/06/2015"
assessmentName: "Algeria_Angola"
assessmentRoleTypeDTOs: []
assessmentStartDate: "06/05/2015"
assessmentStatus: "Draft"
assessmentStatusLookUpCode: "RA_ASES_DRAFT"
availableRolesKey: []
beginTransactionTime: 1433422729000
createWorkerKey: -1066
createWorkerText: "NBKTHMC"
createdTimestamp: 1433495095000
currentFlag: 1
cycleEndDate: "06/06/2015"
cycleName: "Test startassment1"
cycleStartDate: "06/05/2015"
cycleType: "RA_RCSA"
dueDate: "06/26/2015"
endTransactionTime: 1433495095000
erhFlag: null
erhList: null
filteredErhList: null
geoLocationLst: null
legalEntity: null
modifiedTimestamp: 1433422729000
modifiedTimestampString: "06/04/2015"
modifiedUserText: "NBKTHMC"
modifyWorkerKey: -1066
rcsaOwnerWorkerKey: null
rcsaPreparerWorkerKey: null
responseMesg: null
riskAssessmentCycleKey: null
riskAssessmentKey: 87
riskAssessmentRoleTypeKey: null
scopeType: null
selectedRolesKey: []
sourceFeed: 1
statusLookUpCode: "RS_ACTIVE"
}]

在您的for循環中,您僅讀取數組項,而不讀取所需的屬性riskAssessmentKey 嘗試這個。

for (var i=0; i<assessmentKey.length; i++) {
   var riskAssessmentKeys = assessmentKey[i].riskAssessmentKey;
   console.log(riskAssessmentKeys);
}

如果includeAssessmentList始終僅包含一項,則您不需要for循環,可以嘗試一下。

if ($scope.rcsaCycleDTO.includeAssessmentList && $scope.rcsaCycleDTO.includeAssessmentList.length) {
  var riskAssessmentKeys = $scope.rcsaCycleDTO.includeAssessmentList[0].riskAssessmentKey;
}

如果您必須從陣列中讀取所有ristAssetKeyKeys,請嘗試此操作。

   var riskAssessmentKeys = [];
   for (var i=0; i<assessmentKey.length; i++) {
      riskAssessmentKeys.push(assessmentKey[i].riskAssessmentKey);
   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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