前提・実現したいこと
以下の様な配列のデータを
js
1const data = [ 2 {"Subject": 1000001, "LABEL": 0, "AEYN_STD": "Y", "FTR1": 0, "LABEL_P": 1,}, 3 {"Subject": 1000002, "LABEL": 0, "AEYN_STD": "Y", "FTR1": 1, "LABEL_P": 0,}, 4 {"Subject": 1000003, "LABEL": 0, "AEYN_STD": "N", "FTR1": 0, "LABEL_P": 0,}, 5]; 6
各keyを,それぞれ新しいkeyであるdataとdataIndexに割り当て,次の形に変換したいと考えております。
js
1const result = [ 2 {data: "Subject", dataIndex: "Subject"}, 3 {data: "LABEL", dataIndex: "LABEL"}, 4 {data: "AEYN_STD", dataIndex: "AEYN_STD"}, 5 {data: "FTR1", dataIndex: "FTR1"}, 6 {data: "LABEL_P", dataIndex: "LABEL_P"}, 7];
試したこと
js
1let result = data.map((obj, index) => { 2 let rObj = {} 3 rObj['title'] = Object.keys(obj)[index] 4 rObj['datIndex'] = Object.keys(obj)[index] 5 return rObj 6});
コードから得られる結果は以下の通りでした。FTR1とLABEL_P分足りていません。
Array [
Object { title: "Subject", datIndex: "Subject" },
Object { title: "LABEL", datIndex: "LABEL" },
Object { title: "AEYN_STD", datIndex: "AEYN_STD" }
]
mapでindexを利用した場合,dataの中の要素数なので3回繰り返しているのは分かるのですが,
実際にやりたい事は各要素の中のデータ数(Subject, LABEL, AEYN_STD, FTR1, LABEL_Pの5つ)を
指定する必要があるのは分かるのですが,取得の方法が分からない状況です。
data[0].lengthにすれば取得要素数自体を取得し,for文等で回せば意図した結果が得られそうな気もするのですが,JavaScriptの経験が浅く,適切な処理が導けません。。
ご教示頂けますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/03/21 05:16