サブテーブルに.push()で行を追加する際にtypeを変数で指定する方法

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

サブテーブルに.push()で行を追加する際、typeに変数を使用したいと思っておりますが上手くいきません。下記のコードによりフィールドタイプを取得しておりますが何か問題はありますでしょうか。

  //フィールドコードを取得
  テーブル.value.forEach((row, index) => {
      record[index] = [];
      fieldColumns.forEach((fieldCode, fieldIndex) => {
        record[index][fieldIndex] = row.value[fieldCode].value;
      });
    });   

 //フィールドタイプを取得
 テーブル.value.forEach((row) => {
     fieldColumns.forEach((fieldCode, fieldIndex) => {
        fieldtype[fieldIndex] = row.value[fieldCode].type;
     });
    });

なお、一部の列のtypeを変数にしない場合を試してみたところ、その部分は問題なくテーブルに値を追加できておりますので、問題はtypeを変数にしたところだと思っております。

(フィールドコードは変数code0~code9にしておりますが問題は無いようです。)

よろしくお願いいたします。

 

 

[type9]

とブラケットで囲んでいるため、値が配列なっています。

連想配列の左側(key)に変数を使う場合はブラケット([])で囲む必要がありますが、右側(value)は必要ありません。

mls-hashimoto様、ご教授いただきありがとうございました。

お陰様で解決できました。

   for (let i = 0; i < row; i++) {
      table.value.push({
        value: {
          [code[0]]: {
            value: record[i][0],
            type: type[0],
          },
          [code[1]]: {
            value: record[i][1],
            type: type[1],
          },
          [code[2]]: {
            value: record[i][2],
            type: type[2],
          },
          [code[3]]: {
            value: record[i][3],
            type: type[3],
          },
          [code[4]]: {
            value: record[i][4],
            type: type[4],
          },
          [code[5]]: {
            value: record[i][5],
            type: type[5],
          },
          [code[6]]: {
            value: record[i][6],
            type: type[6],
          },
          [code[7]]: {
            value: record[i][7],
            type: type[7],
          },
          [code[8]]: {
            value: record[i][8],
            type: type[8],
          },
          [code[9]]: {
            value: record[i][9],
            type: type[9],
          },
        },
      });

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