-1

だから私はこのような配列を持っています

[{"subbasinID":"1"},{"subbasinID":"2"}, etc....]

各レコードにさらに値を追加する必要があります。既存のアレイに追加して、次のようにするにはどうすればよいですか?

[{"subbasinID":"1","test":"1","name":"john"},{"subbasinID":"2","test":"0"}]

追加する必要のある次のグループの名前と値がわかります。必要なレコードを特定してから、subbasinIDを見つけて追加する必要があると思います。方法がわからない!ありがとう!

4

6 に答える 6

3

あなたが持っているのはオブジェクトのリスト(配列)です。必要なのは、オブジェクトを反復処理して要素を追加することだけです。

var t = [{"subbasinID":"1"},{"subbasinID":"2"}/*, etc....*/]
t[0]["name"] = "John";
于 2012-09-20T16:17:35.883 に答える
1

あなたの質問を完全に理解できるかどうかはわかりませんが、JavaScriptでオブジェクトに追加するのは非常に簡単です。必要に応じてjQueryを使用でき.eachますが、必須ではありません。

for (var x = 0; x < arrayVar.length; x++) {
   arrayVar[x].test = test;
   if (name) {
      arrayVar[x].name = name;
   }
}
于 2012-09-20T16:17:08.790 に答える
1

ここでのjsonオブジェクトは配列です。したがって、2D配列のように値にアクセスして、これを操作できます。

 var json = [{"subbasinID":"1","test":"1","name":"john"},{"subbasinID":"2","test":"0"}]



  json[0]["test"] = "1" ;   OR   json[0].test = "1"

   json[0]["name"] = "john"

    json[1]["test"] = "0" ; 

追加するフィールドの名前がわかれば、一般化されたアプローチを思い付くことができます。

于 2012-09-20T16:23:08.177 に答える
1

これは、IDを見つけて追加することによる別の1つです。

var arr = [{"subbasinID":"1"},{"subbasinID":"2"}];

$.each(arr, function(i, arrVal)  {    
   if (arrVal.subbasinID === "1") {    
      arrVal.test = "1";
      arrVal.name = "john";
   }    
});
于 2012-09-20T16:56:03.407 に答える
0

javascript配列だけでなく、実際に「JSON配列」があると仮定すると、最も簡単な方法は次のとおりです。

  1. それをjavascript配列に解析します
  2. 値を追加する
  3. JSONとして再度シリアル化します

このような :

var obj = JSON.parse(str);
obj[0]['test']='1';
...
str = JSON.stringify(obj);

「JSON」という用語がわからない場合は、次のことをお勧めします:http: //en.wikipedia.org/wiki/JSON

于 2012-09-20T16:15:26.547 に答える
0

スプライス関数を使用して、JSON配列にアイテムを追加および削除できます。最初の0は追加する位置(最初の位置には0を使用)で、2番目はアイテムを削除する場合に指定する位置です。

dataArray.splice(0, 0,
{id: "7", name: "Douglas Adams", type: "comedy"});
于 2017-08-17T13:57:13.367 に答える