簡體   English   中英

如何遍歷對象內的數組

[英]How to loop through an array within an object

我有以下格式的JSON輸出。{

data{
  "id" : 1,
  "age":20,
  "subjects":[
    {"code":"101", "Lecturer":"Doe"}, 
    {"code":"102", "Lecturer":"Smith"},
    {"code":"103", "Lecturer":"Jones"}
  ]
}

我嘗試了以下代碼來遍歷數據對象的主題。

$scope.values=[];
angular.forEach(data.subjects,function(value,key){
  $scope.values.push(value.Lecturer);
});

我在forEach循環中的data.subjects中沒有看到要迭代的值。代碼中還缺少其他什么?

抱歉,但您Json身體不好。 我非常確定這是由於您的數據名稱所致。 如果是var data = {...}; 或var data = {data:{...}}。 對於第一種情況,應該是這樣的

var data = {
    "id": 1,
    "age": 20,
    "subjects": [{
      "code": "101",
      "Lecturer": "Doe"
    }, {
      "code": "102",
      "Lecturer": "Smith"
    }, {
      "code": "103",
      "Lecturer": "Jones"
    }]
  };

  $scope.values = [];
  angular.forEach(data.subjects, function(value, key) {
    $scope.values.push(value.Lecturer);
  });
  console.log($scope.values);

如果您有類似var data = {data:{...}}的內容。 只需將data.data.subjects添加到您的forEach

angular.forEach(data.data.subjects, function(value, key) {
        $scope.values.push(value.Lecturer);
      });

我認為您在數據之后缺少一個冒號(:)。

data: {
  "id" : 1,
  "age":20,
  "subjects":[
    {"code":"101", "Lecturer":"Doe"}, 
    {"code":"102", "Lecturer":"Smith"},
    {"code":"103", "Lecturer":"Jones"}
  ]
}

這對我有用。

暫無
暫無

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

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