いつもお世話になっております。
サブテーブルに.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],
},
},
});
system
(system)
クローズされました:
4
このトピックはベストアンサーに選ばれた返信から 3 日が経過したので自動的にクローズされました。新たに返信することはできません。