質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
参照

参照は、プログラミングにおいて変数や関数といったメモリ空間上での所在を指示するデータのことを指します。その中にはデータ自体は含まれず、他の場所にある情報を間接的に指示するプログラムです。

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

Q&A

解決済

1回答

1573閲覧

【Typescript】都道府県の県名(id,name,area)オブジェクトをmixinで関東や東北等の一つのarea配列にまとめた際、配列内の県名(name)を参照出来る方法を知りたい

metafuku

総合スコア6

参照

参照は、プログラミングにおいて変数や関数といったメモリ空間上での所在を指示するデータのことを指します。その中にはデータ自体は含まれず、他の場所にある情報を間接的に指示するプログラムです。

オブジェクト

オブジェクト指向において、データとメソッドの集合をオブジェクト(Object)と呼びます。

TypeScript

TypeScriptは、マイクロソフトによって開発された フリーでオープンソースのプログラミング言語です。 TypeScriptは、JavaScriptの構文の拡張であるので、既存の JavaScriptのコードにわずかな修正を加えれば動作します。

配列

配列は、各データの要素(値または変数)が連続的に並べられたデータ構造です。各配列は添え字(INDEX)で識別されています。

0グッド

0クリップ

投稿2020/01/17 14:55

前提・実現したいこと

初歩的な質問で失礼します。
typescriptで都道府県のオブジェクトを参照してくるだけの簡単な物を作っているのですが、どうやったら理想通りに参照できるかがわからず困っています。

1、{Kanto.tokyo.name} で「東京」と表示させたい。
2、理想はmixin等を使って自由に取り出せるようになる事です。

該当のソースコード

Typescript

1interface PrefsType { 2 id : string, 3 name : string, 4 area : string 5} 6 7type AreasType = any 8 9const tokyo : PrefsType = { 10 id : 'tokyo', 11 name : '東京', 12 area : 'Kanto' 13} 14 15const ibaraki : PrefsType = { 16 id : 'ibaraki', 17 name : '茨城', 18 area : 'Kanto' 19} 20 21const chiba : PrefsType = { 22 id : 'chiba', 23 name : '千葉', 24 area : 'Kanto' 25} 26 27const saitama : PrefsType = { 28 id : 'saitama', 29 name : '埼玉', 30 area : 'Kanto' 31} 32 33const tochigi : PrefsType = { 34 id : 'tochigi', 35 name : '栃木', 36 area : 'Kanto' 37} 38 39const gunma : PrefsType = { 40 id : 'gunma', 41 name : '群馬', 42 area : 'Kanto' 43} 44 45export const Kanto: AreasType = [ 46 {tokyo}, 47 {ibaraki}, 48 {chiba}, 49 {saitama}, 50 {tochigi}, 51 {gunma} 52]; 53 54console.log(Kanto.tokyo.name) //コンソールに何も表示されず 55 56 57試しに以下の形にすると一応コンソールに表示されるようにはなるのですが、{...tokyo.tokyo...}とidが二つ並ぶのはもう少し何とかしたいと思っています。 58export const Kanto: AreasType = { 59 tokyo : {tokyo}, 60 ibaraki:{ibaraki}, 61 chiba:{chiba}, 62 saitama:{saitama}, 63 tochigi:{tochigi}, 64 gunma:{gunma}, 65}; 66console.log(Kanto.tokyo.name) //undefined 67console.log(Kanto.tokyo.tokyo.name) //東京 68

数時間かけて調べたりしてもどうすれば良いか分からなかったので、教えて頂けたら幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

プロパティの定義時の中カッコが余計だったのでは?

typescript

1interface PrefsType { 2 id : string, 3 name : string, 4 area : string 5} 6 7// 各変数定義は省略 8 9export const Kanto: {[key: string]: PrefsType} = { 10 tokyo : tokyo, 11 ibaraki: ibaraki, 12 chiba: chiba, 13 saitama: saitama, 14 tochigi: tochigi, 15 gunma: gunma, 16};

投稿2020/01/17 15:48

miyabi_takatsuk

総合スコア9528

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

metafuku

2020/01/17 16:06

成程! 変に{}に囚われていましたが、おかげで悩みが解決しました!有難うございます!
miyabi_takatsuk

2020/01/20 00:38

変数がすでに、{}(オブジェクト)で宣言されているので、 他のプロパティや変数に入れる時は不要ってことです。(やりたい構造によっては必要)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問