奇妙な結果を与えるJSONオブジェクトの更新

hitesh

こんにちは私は内部配列を持ち、配列の各オブジェクトがid要素を持つjsonオブジェクトを更新しています。id要素に基づいて、inout idに一致する要素の1つを更新しますが、複数のオブジェクトを変更しています。私のソースコードとコンソールログを以下に示します。これは問題を理解するのに役立ちます。

関数

updateUserData(event,id){
    var elementName=event.target.name;
    console.log('id='+id+', element name='+elementName);
    var userData=this.state.user_data;
    console.log('User Data before change ='+JSON.stringify(userData));
    for(var i=0;i<userData.sports.length;i++){
       for(var j=0; j<userData.sports[i].ticket_detail.length;j++){
           if(userData.sports[i].ticket_detail[j].id==id){
               for(var k=0;k<userData.sports[i].ticket_detail[j].ticket.length;k++){
                   if(userData.sports[i].ticket_detail[j].ticket[k].paramname==event.target.name){
                       userData.sports[i].ticket_detail[j].ticket[k].value=event.target.value;
                      console.log('user data after change ='+JSON.stringify(userData));
                       this.setState({user_data:userData});
                       return;
                   }
               }
           }
       }
   }
  }

コンソールログ

value=h

id=0, element name=name

User Data before change =

{"total_tickets":3、 "total_amount":2124、 "htmlid_counter":3、 "sports":[{"name": "Badminton"、 "ticket_detail":[{"cat": "Men Singles"、 "formid ":102、" ticket ":[{" label ":" Name: "、" paramname ":" name "、" type ":" text "、" value ":" "}、{" label ":" Email : "、" paramname ":" email "、" type ":" text "、" value ":" "}、{" label ":" Phone: "、" paramname ":" phone "、" type ":" text "、" value ":" "}]、" id ":0}、{" cat ":" Men Singles "、" formid ":102、" ticket ":[{" label ":" Name: "、 "paramname": "name "、" type ":" text "、" value ":" "}、{" label ":" Email: "、" paramname ":" email "、" type ":" text "、" value ":" "}、{" label ":" Phone: "、" paramname ":" phone "、" type ":" text "、" value ":" "}]、" id ":1}、{" cat ": "Men Singles"、 "formid":102、 "ticket":[{"label": "Name:"、 "paramname": "name"、 "type": "text"、 "value": ""}、 {"label": "Email:"、 "paramname": "email"、 "type": "text"、 "value": ""}、{"label": "Phone:"、 "paramname": "phone "、"タイプ":"text "、" value ":" "}]、" id ":2}]}、{" name ":" Carrom "、" ticket_detail ":[]}]、" tournament_id ":1}

user data after change = 

{"total_tickets":3、 "total_amount":2124、 "htmlid_counter":3、 "sports":[{"name": "Badminton"、 "ticket_detail":[{"cat": "Men Singles"、 "formid ":102、" ticket ":[{" label ":" Name: "、" paramname ":" name "、" type ":" text "、" value ":" h "}、{" label ":" Email: "、" paramname ":" email "、" type ":" text "、" value ":" "}、{" label ":" Phone: "、" paramname ":" phone "、" type ": "text"、 "value": ""}]、 "id":0}、{"cat": "Men Singles"、 "formid":102、 "ticket":[{"label": "Name:" 、 "paramname": "name "、" type ":" text "、" value ":" h "}、{" label ":" Email: "、" paramname ":" email "、" type ":" text "、" value ": ""}、{"label": "Phone:"、 "paramname": "phone"、 "type": "text"、 "value": ""}]、 "id":1}、{"cat" : "Men Singles"、 "formid":102、 "ticket":[{"label": "Name:"、 "paramname": "name"、 "type": "text"、 "value": "h" }、{"label": "Email:"、 "paramname": "email"、 "type": "text"、 "value": ""}、{"label": "Phone:"、 "paramname": "電話"、 "タイプ": "text "、" value ":" "}]、" id ":2}]}、{" name ":" Carrom "、" ticket_detail ":[]}]、" tournament_id ":1}

入力id = 0であっても、abobe jsonから確認できますが、id 0、1、および2のjsonオブジェクトが変更されています。誰かがこの問題を解決するのを手伝ってもらえますか?

hitesh

問題を見つけました。この問題は、配列の各要素が共通の要素へのhavinv参照であったために発生していました。それが私がそれらのいずれかを変更していた理由であり、すべてが変更されました。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

AngularJS:[ObjectObject]の結果を与えるCookieにオブジェクトを保存する

分類Dev

結果をJSONオブジェクトに結合する

分類Dev

PHP匿名オブジェクトの文字列を連結する奇妙な動作

分類Dev

テーブルビューで検索結果オブジェクトを削除した後の奇妙な動作

分類Dev

webapi c#のjson配列ではなくjsonオブジェクト形式で結果を取得する方法

分類Dev

参照をオブジェクトに保存すると、奇妙な結果が得られます

分類Dev

Map / Setオブジェクトグラフを使用した奇妙なequals()の結果

分類Dev

結果行をjsonオブジェクトに追加する方法

分類Dev

JSON結果をJavascriptオブジェクトに入れる

分類Dev

JSON.parseの結果を親オブジェクトに保存する方法は?

分類Dev

Androidルーム:jsonの結果をdbオブジェクトに変換する効率的な方法

分類Dev

JSXでオブジェクトの結果を表示する

分類Dev

FileReader()の結果オブジェクトを取得する

分類Dev

奇妙な結果を与えるベクトル配列の逆出力

分類Dev

オブジェクトの適切な配列へのJSON.parseの結果

分類Dev

オブジェクトの適切な配列へのJSON.parseの結果

分類Dev

列に格納されているjsonオブジェクトのjsonキーに基づいてmysqlの結果を並べ替える方法

分類Dev

C ++のオブジェクト内の関数の結果を使用してオブジェクトの配列を並べ替える

分類Dev

LibGDXの非常に奇妙なバグ-オブジェクトが消える

分類Dev

JavaScriptオブジェクトの更新動作(奇妙な?)

分類Dev

データリーダーの結果がどのように見えるかに関係なく、結果のJSONオブジェクトを動的に作成しますか?

分類Dev

NodeJsMySQLの結果をアクセス可能なJSONオブジェクトに変換します

分類Dev

構造体のJSONマーシャルマップの結果、オブジェクトが空になる

分類Dev

結果のJson応答でオブジェクトの代わりにクラス名を表示する

分類Dev

Javascriptの奇妙なオブジェクト

分類Dev

AndroidでJsonオブジェクトとしてレトロフィットの結果を取得する

分類Dev

あるオブジェクトの結果をチェーンなどの別のオブジェクト関数に渡す

分類Dev

JSONオブジェクトをシリアル化すると結果が「/」になります

分類Dev

PHPでSQL結果から複雑なJSONオブジェクトを構築する

Related 関連記事

  1. 1

    AngularJS:[ObjectObject]の結果を与えるCookieにオブジェクトを保存する

  2. 2

    結果をJSONオブジェクトに結合する

  3. 3

    PHP匿名オブジェクトの文字列を連結する奇妙な動作

  4. 4

    テーブルビューで検索結果オブジェクトを削除した後の奇妙な動作

  5. 5

    webapi c#のjson配列ではなくjsonオブジェクト形式で結果を取得する方法

  6. 6

    参照をオブジェクトに保存すると、奇妙な結果が得られます

  7. 7

    Map / Setオブジェクトグラフを使用した奇妙なequals()の結果

  8. 8

    結果行をjsonオブジェクトに追加する方法

  9. 9

    JSON結果をJavascriptオブジェクトに入れる

  10. 10

    JSON.parseの結果を親オブジェクトに保存する方法は?

  11. 11

    Androidルーム:jsonの結果をdbオブジェクトに変換する効率的な方法

  12. 12

    JSXでオブジェクトの結果を表示する

  13. 13

    FileReader()の結果オブジェクトを取得する

  14. 14

    奇妙な結果を与えるベクトル配列の逆出力

  15. 15

    オブジェクトの適切な配列へのJSON.parseの結果

  16. 16

    オブジェクトの適切な配列へのJSON.parseの結果

  17. 17

    列に格納されているjsonオブジェクトのjsonキーに基づいてmysqlの結果を並べ替える方法

  18. 18

    C ++のオブジェクト内の関数の結果を使用してオブジェクトの配列を並べ替える

  19. 19

    LibGDXの非常に奇妙なバグ-オブジェクトが消える

  20. 20

    JavaScriptオブジェクトの更新動作(奇妙な?)

  21. 21

    データリーダーの結果がどのように見えるかに関係なく、結果のJSONオブジェクトを動的に作成しますか?

  22. 22

    NodeJsMySQLの結果をアクセス可能なJSONオブジェクトに変換します

  23. 23

    構造体のJSONマーシャルマップの結果、オブジェクトが空になる

  24. 24

    結果のJson応答でオブジェクトの代わりにクラス名を表示する

  25. 25

    Javascriptの奇妙なオブジェクト

  26. 26

    AndroidでJsonオブジェクトとしてレトロフィットの結果を取得する

  27. 27

    あるオブジェクトの結果をチェーンなどの別のオブジェクト関数に渡す

  28. 28

    JSONオブジェクトをシリアル化すると結果が「/」になります

  29. 29

    PHPでSQL結果から複雑なJSONオブジェクトを構築する

ホットタグ

アーカイブ