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

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

新規登録して質問してみよう
ただいま回答率
85.49%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

4回答

785閲覧

JavaScriptのMapの中で使われる=>について

sasa0330

総合スコア64

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2023/01/11 04:43

編集2023/01/11 05:05

質問

以下のようなMapがある時、=>は何を意味するのでしょうか。
関数で使われる=>とは違うのでしょうか。

JavaScript

1Map { 2 1 => { id: 1, name: 'John Smith' }, 3 2 => { id: 2, name: 'Mary Sue' }, 4 100 => { id: 100, name: 'Taro Yamada' } 5}

上記のソースコードはQiitaにあるTypeScriptの練習問題にあったものです。

ご回答をよろしくお願いします。

該当の問題文も以下に転記します。

該当の問題文

以下のコードで定義される関数mapFromArrayは、オブジェクトの配列からMapを作って返す関数です。配列から取り出した各オブジェクトをMapに登録しますが、その際にキーとして各オブジェクトの指定されたプロパティの値を用います。mapFromArrayに適切な型を付けてください。

JavaScript

1function mapFromArray(arr, key) { 2 const result = new Map(); 3 for (const obj of arr) { 4 result.set(obj[key], obj); 5 } 6 return result; 7} 8 9// 使用例 10const data = [ 11 { id: 1, name: "John Smith" }, 12 { id: 2, name: "Mary Sue" }, 13 { id: 100, name: "Taro Yamada" } 14]; 15const dataMap = mapFromArray(data, "id"); 16/* 17dataMapは 18Map { 19 1 => { id: 1, name: 'John Smith' }, 20 2 => { id: 2, name: 'Mary Sue' }, 21 100 => { id: 100, name: 'Taro Yamada' } 22} 23というMapになる 24*/ 25 26// エラー例 27mapFromArray(data, "age");

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

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

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

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

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

int32_t

2023/01/11 04:59 編集

そのテキストはどうやって得ましたか? JavaScriptのソースコードではないですよね。
sasa0330

2023/01/11 05:07

>そのテキストはどうやって得ましたか? 追記しました。
guest

回答4

0

どのようにそのテキストを得たのか不明ですが、
おそらくですが、それはJavaScriptではなく、TypeScriptじゃないですか?

TypeScriptのMapオブジェクトをコンソールへ出力した時にそのようになる気がします。

JavaScriptにせよ、TypeScriptにせよMapオブジェクトであれば、
{key⇒value}は、Keyと対応するValueを示すものです。

例えば、1というkeyに{id: 1, name: 'John Smith'}というvalueが対応していることを示していると思います。

JavaScriptのアロー関数とは別物だと思います。

投稿2023/01/11 05:26

TKMoon

総合スコア79

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

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

0

ベストアンサー

キーと値の関係を視覚化しただけでは?

javascript

1const m=new Map([ 2 [1,{ id: 1, name: 'John Smith' }], 3 [2,{ id: 2, name: 'Mary Sue' }], 4 [100,{ id: 100, name: 'Taro Yamada'} ] 5]); 6console.log(m); 7console.log(m.get(2));

投稿2023/01/11 05:04

yambejp

総合スコア114742

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

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

sasa0330

2023/01/11 05:10

新しい記法かと思いました。納得しました。 こちらをBAとさせていただきますが、他の方もありがとうございます!
guest

0

JSのMapオブジェクトは連想配列。
1がキーで{ id: 1, name: 'John Smith' }は値。
=>は他の言語でもよく使われる連想配列の表示方法に合わせただけだろうから特別な意味はない。
連想配列を知ってる人なら=>に疑問を持つことはない。

投稿2023/01/11 05:14

kawax

総合スコア10377

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

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

0

1 => { id: 1, name: 'John Smith' }
1というkeyに対応するvalueが{ id: 1, name: 'John Smith' }ということです。

投稿2023/01/11 05:03

ozwk

総合スコア13521

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問