簡體   English   中英

使用javascript / angularjs構建動態json

[英]Building dynamic json using javascript/angularjs

我正在使用來自使用angularjs的服務器中的數據構建動態json。 我已經聲明如下。 僅當來自服務器的數據在對象數組中具有一項時才有效。 我應該如何聲明它才能動態工作?

 $scope.items = [{ id: “”, locations: [{ name: “” }] }] 

  for (var i=0; i<$scope.data.length; i++) { $scope.items[i].id = $scope.data[i].id; for(var j=0; j<$scope.data[i].locations.length; j++) { $scope.items[i].locations[j].name = $scope.data[i].locations[j].name; } } 

僅當有一條記錄來自該服務器時,此方法才有效

在for循環中使用push()方法將數據添加到項目中。

for (var i=0; i<$scope.data.length; i++)
{
   //create a json object from your result.
   let obj = { id: $scope.data[i].id, locations: .....};
   $scope.items.push(obj)
}

你可以像下面這樣

 var $scope.items = [];
    for (var i=0; i<$scope.data.length; i++)
    {
        var obj ={};
        obj.id = $scope.data[i].id;
        obj. locations = $scope.data[i].locations;// can assign locations array here.
        $scope.items.push(obj);
    }

實際問題是

$ scope.data已經是帶有數據的數組,因此您可以訪問它的索引i

其中,由於$ scope.items是數組,但仍未索引,因此解決方案是1.使用Push添加數據2.首先使用json創建索引,然后添加數據

$scope.items = [];
for (var i=0; i<$scope.data.length; i++)
{
    $scope.items[i]={id : $scope.data[i].id , locations:[]};
    for(var j=0; j<$scope.data[i].locations.length; j++) {
         $scope.items[i].push($scope.data[i].locations[j].name);
    }
}
console.log($scope.items);

暫無
暫無

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

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