pythonで書いたコードをtypescriptで書き直そうとしていますが、書き方がわからないため教えていただきたいです。
変更前データ
data = [ { "id": "い", "fruits": "apple", "cd": 1 }, { "id": "い", "fruits": "apple", "cd": 2 }, { "id": "い", "fruits": "apple", "cd": 4 }, { "id": "ろ", "fruits": "banana", "cd": 5 }, { "id": "は", "fruits": "grape", "cd": 3 }, { "id": "は", "fruits": "grape", "cd": 6 }, { "id": "は", "fruits": "grape", "cd": 7 }, ]
変更後データ(この形に変更をしたい)
result = { "い": [ { "id": "い", "fruits": "apple", "cd": 1 }, { "id": "い", "fruits": "apple", "cd": 2 }, { "id": "い", "fruits": "apple", "cd": 4 } ], "ろ": [ { "id": "ろ", "fruits": "banana", "cd": 5 } ], "は": [ { "id": "は", "fruits": "grape", "cd": 3 }, { "id": "は", "fruits": "grape", "cd": 6 }, { "id": "は", "fruits": "grape", "cd": 7 } ] }
作成したpythonのコード
data = [ { "id": "い", "fruits": "apple", "cd": 1 }, { "id": "い", "fruits": "apple", "cd": 2 }, { "id": "い", "fruits": "apple", "cd": 4 }, { "id": "ろ", "fruits": "banana", "cd": 5 }, { "id": "は", "fruits": "grape", "cd": 3 }, { "id": "は", "fruits": "grape", "cd": 6 }, { "id": "は", "fruits": "grape", "cd": 7 }, ] result = {} for w in data: result.setdefault(w['id'], []).append(w) print(result)
pythonの出力結果(期待通りに出力できている)
>>> print(result) {'い': [{'id': 'い', 'fruits': 'apple', 'cd': 1}, {'id': 'い', 'fruits': 'apple', 'cd': 2}, {'id': 'い', 'fruits': 'apple', 'cd': 4}], 'ろ': [{'id': 'ろ', 'fruits': 'banana', 'cd': 5}], 'は': [{'id': 'は', 'fruits': 'grape', 'cd': 3}, {'id': 'は', 'fruits': 'grape', 'cd': 6}, {'id': 'は', 'fruits': 'grape', 'cd': 7}]}
作成中のtypescriptのコード
const data = [ { "id": "い", "fruits": "apple", "cd": 1 }, { "id": "い", "fruits": "apple", "cd": 2 }, { "id": "い", "fruits": "apple", "cd": 4 }, { "id": "ろ", "fruits": "banana", "cd": 5 }, { "id": "は", "fruits": "grape", "cd": 3 }, { "id": "は", "fruits": "grape", "cd": 6 }, { "id": "は", "fruits": "grape", "cd": 7 }, ] const result: { [id: string]: {}} = {}; data.map(x => result[x.id] = x); console.log(result)
typescriptのコードの出力結果
{ 'い': { id: 'い', fruits: 'apple', cd: 4 }, 'ろ': { id: 'ろ', fruits: 'banana', cd: 5 }, 'は': { id: 'は', fruits: 'grape', cd: 7 } }
pythonで書いたコードのように、先に辞書にキーだけを追加し、そのキーに辞書を紐づけたいのですが、typescriptの書き方がわかりません。
※文章がわかりにくかったため、修正しました。
回答1件
あなたの回答
tips
プレビュー