複数 PUT 配列が異なる

いつもお世話になっております。

複数PUT処理をする中での配列での質問です。

流れとしては、Aアプリ複数更新と同時に該当のBアプリの複数更新を行います。

①Aアプリレコード一覧取得時に更新用配列を格納

 var listVal = {
                'id':resp.records[i]['レコード番号'].value,
                'record':{
                  '納品日':{value:nouhinDay}
                }
            };
          updateList1.push(listVal);

②該当Bアプリを取得と同時に配列に格納

  for (var i=0; i < list.length; i++) {
function 呼び出し
    }
…

 function(){
    var listVal2 = {
                      'id':resp2.records[0]['レコード番号'].value,
                      'record':{
                        '納品日':{value:nouhinDay}
                      }
                  };
                updateList2.push(listVal2);
}

同じように配列に格納しているつもりなのですが、
デバックをすると、②は[]でlength=0(画像赤枠)、①は[{…}]でlength=1(画像青枠)となり、①はPUTされ、②はエラーは出ないもののPUTされていない状況です。

配列の仕組みがよくわかっていないせいだと思うのですが、

どう修正をすればPUTされるようになるでしょうか?

ご教授をお願いします。

「②は[]でlength=0(画像赤枠)」とありますが、赤枠は length:1と表示されています。

赤枠と青枠が入れ替わっていますか?

それとも赤枠の[[Prototype]]: Array(0)の次の0が lengthの結果なのですか?

Aアプリ
'id':resp.records[i]['レコード番号'].value,
Bアプリ
'id':resp2.records[0]['レコード番号'].value,

iと0 respと resp2とか違うのも気になります。

もう少しコードがあると答えがつくかもしれません。

harada

ご返信ありがとうございます。

②(赤枠)はデータを開くとlength:1になっていますが、

updateList2.lengthでconsoleすると、0が返ってきます。(なぜ?)

[]←こんな風になっているからですか?

そして、PUTしたArrayも0…

①(青枠は)データを開くとlength:1で、

updateList1.lengthでconsoleすると、1が返ってきます。

[{…}]←こんな風になっているから??

PUTしたArrayはきちんと1

 

respが異なるのは、

①GETで今のアプリ(A)を取得した結果で、

②は今のアプリ(A)で取得したデータを元に別アプリ(B)のレコード番号を取得した結果(一意なので[0])

のため異なります。

このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。