2016-04-04 21 views
0

オブジェクトを持つ配列があります。キーを追加するために各オブジェクトを必要とします。これは、他のオブジェクトの配列になります。既存のjsonオブジェクトに新しいキー(配列)を追加する

だから私のコードは次のようになります。

$scope.array = []; 

$http.get(url).success(function(data) { 

    $scope.array = data; 

    // Now my array has some objects 
    var i = 0; 
    function() getSomeData(i) { 
     if(i<array[i].length()) { 
     $http.get(url + array[i].someKey).success(function(data){ 
      $scope.array[i].push(data); 
      i++; 
      getSomeData(i); 
     }) 
     } 
    } 

}) 

getSomeData(0); 

しかし、私はError:array.push is not a function

なぜそれが起こっているのを取得していますか?

+0

あなたは '$ scope.array =データ操作を行う前に、'あなたは '警告(ty​​peof演算データ)の出力が何であるかを私たちに伝えることができます;' – gurvinder372

+0

データの型がオブジェクトであります – Korte

+0

このスクリプトには 'array'変数はありません。 – MinusFour

答えて

5

配列の代わりにオブジェクトにプッシュしようとしています。どちらかを実行します。

$scope.array.push(data)新しいオブジェクトを追加します。

または $scope.array[i] = dataを使用して、配列内の特定のインデックスのオブジェクトを更新します。

+0

実際には、データをオブジェクトのキーとして追加することで、配列内の特定のインデックスのオブジェクトを更新する必要があります。 – Korte

+0

@Korte、$ scope.array [i] .keynameを実行することでオブジェクトにアクセスできます。したがって、 "foo"という名前のキーがあり、その値を "bar"に設定する場合は、$ scope.array [i ] .foo = "bar"。 –

+0

ありがとう – Korte

0

JSONのオブジェクトは、以下の2つの手法を使用して追加されます。あなたはそれらの1つを試すことができます。

object["property"] = value; 

または

object.property = value; 
関連する問題