filterメソッドを使用してから、mapメソッドを使用して新しい配列を作ろうと思い下記のようなコードを作成しましたが、consoleで確認しましたが、
作った配列は[]となっています。
TypeScript
1interface Items { 2 id:string 3 name:string 4} 5interface ItemsEmployees { 6 id:string 7 name:string 8 employees:Employees[] 9} 10interface Employees { 11 name:string 12} 13 14const items:Items = {id:'1',name:'経理部'} 15 16const itemsIncludesEmployees:ItemsEmployees[] = [ 17 {id:'1',name:'経理部',employees:[{name:'太郎'},{name:'花子'}]}, 18 {id:'2',name:'営業部',employees:[{name:'次郎'},{name:'梅子'}]}, 19 {id:'3',name:'企画部',employees:[]} 20] 21const filteredEmployees = itemsIncludesEmployees.filter(e=>{ 22 e.id === items.id && e.name === items.name 23}).map(v=>{ 24 return{ 25 typeId:v.id, 26 typeName:v.name 27 } 28}) 29console.log(filteredEmployees)
やりたいこととしては、オブジェクトのitemsと同じ、idとname要素を持つ
オブジェクトをitemsIncludesEmployeesから抜き出し、
typeIdとtypeNameという新しい要素名を付与して、配列を作り直すということを
実行したつもりでした。
そのため、アウトプットとして下記のような結果を予想していたました。
output
1[{typeId:'1',typeName:'経理部'}]
しかし実際の実行結果は[]が返ってきておりました。
どなたか詳しいかたご教示いただけますと幸いです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/12/22 23:29