LoginSignup
0
0

ネストしたオブジェクトの値を取り出す。

Posted at

はじめに

TypeScriptのRecord型に詰めた値をfor文で引っ張り出す方法がすぐ出てこなかったのでメモです。
やることはシンプルで、TypeScriptのRecord型というよりかはネストしたオブジェクトの値を取り出したかっただけです。

Record型とは 

ReacordとはTypeScriptに用意されたユーティリティ型の一つで、以下のようにRecord<Keys,Type> の形式で記述できます。プロパティキーがKeysで、プロパティ値がTypeであるオブジェクトタイプを構築します。
このユーティリティを使用すると、ある型のプロパティを別の型にマップできます。

## 解決したいこと
今回取り出したい値は以下の変数smallTownBに格納されている、ageの値だけ取り出したいです。期待値は25 17 16です。

interface MenberInfo {
  age: number;
  job: string;
}
 
type MenberName = "memcho" | "juso" | "ruby";
 
const smallTownB: Record<MenberName, MenberInfo> = {
  memcho: { age: 25, job: "youtuber" },
  juso: { age: 17, job: "actor" },
  ruby: { age: 16, job: "idol" },
};

解決方法

TypeScriptというよりかは単純にJavaScriptの構文を使用して、ネストしたオブジェクトから値を取り出します。
Object.values()とforEachで値をずつ取り出すことができました!

Object.values(smallTownB).forEach((item) => {
  console.log(item.age)
})
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0