今回は連想配列というものをみていきます。配列とどのように異なるのでしょうか。
1 連想配列
まずは 配列との違いから。
しくみ(配列)
0・・・日曜日
1・・・月曜日
2・・・火曜日
↓ ↓
添え字 値
配列は添え字で管理できるのでしたね。
しくみ(連想配列)
Sunday ・・・日曜日
Monday ・・・月曜日
Tuesday・・・火曜日
↓ ↓
キー 値
連想配列は キー で管理します。
他のプログラミング言語では、連想配列のことを「辞書」といっているものもあります。
簡単な使用例を見てみましょう。
HTML(一部)
<script>
let week = {Sunday:"日曜日", Monday:"月曜日", Tuesday:"火曜日"};
document.write("<p>" + week.Sunday + "</p>");
</script>
ブラウザ
連想配列の変数 week のつくり方について、let を使うのは配列と同様ですが、[ ]ではなく{ }を使っていることに注意です。
そして、値の取得の方法も添え字ではなく、キー Sunday を使用しています。
上の例では、キーに対応する値「日曜日」が表示されました。
まるで、メソッドかオブジェクトのような書式ですね。
別の方法もあります。
HTML(一部)
<script>
let week = {Sunday:"日曜日", Monday:"月曜日", Tuesday:"火曜日"};
document.write("<p>" + week["Monday"] + "</p>");
</script>
ブラウザ
こちらの方法も、配列の添え字に代わるものとしてキーを指定しています。
この場合も、キーに対応する「月曜日」が表示されました。
最後にループ処理を使って、連想配列を表示してみましょう。
HTML(一部)
<script>
let week = {Sunday:"日曜日", Monday:"月曜日", Tuesday:"火曜日"};
for (let key in week){
document.write("<p>" + key + ":" + week[key] + "</p>");
}
</script>
ブラウザ
配列のときは of を使いましたが、連想配列では in を使って for ループを記述します。
また、キーが key に代入されますので、そのキーを指定することにより値を表示することができます。
2 連想配列を操作する
配列と同様に連想配列についても、その内容を後から変更することができます。
さきほどの連想配列を簡略化して、1行で表示するようにしてみます。
HTML(一部)
<p> <script> let week = {Sun:"日", Mon:"月", Tue:"火"}; for (let key in week){ document.write(key + ":" + week[key] + " "); } </script> </p>
ブラウザ
ここから、連想配列の内容を変更していきます。
HTML(一部)
<p>
<script>
let week = {Sun:"日", Mon:"月", Tue:"火"};
week.Sun = "にち"
for (let key in week){
document.write(key + ":" + week[key] + " ");
}
</script>
</p>
ブラウザ
変数 week のキー「Sun」を指定して、新たな値「にち」を代入しています。
その結果、本来「Sun:日」であった箇所が「Sun:にち」に変更されています。
そして、新たなキーと値の組み合わせも追加できます。
HTML(一部)
<p>
<script>
let week = {Sun:"日", Mon:"月", Tue:"火"};
week.Wed = "水"
for (let key in week){
document.write(key + ":" + week[key] + " ");
}
</script>
</p>
ブラウザ
変数 week に、キー「Wed」と値「水」とを指定しています。
その結果「Wed:水」が追加されました。
最後に、キーと値の組み合わせの削除です。
HTML(一部)
<p>
<script>
let week = {Sun:"日", Mon:"月", Tue:"火"};
delete week.Sun;
for (let key in week){
document.write(key + ":" + week[key] + " ");
}
</script>
</p>
ブラウザ
なんと日曜日が削除されてしまいました。最悪の週ですね!
このように、変数名.キー と指定することにより削除することができます。
3 次回
今回は連想配列の基礎をみてきました。次回はその応用として、わかりやすい表形式で表示することに挑戦します。
カテゴリー
更新記事
- 『日本経済新聞』を読む 9(家計金融資産、車載半導体、ホタテ、コンテナ、GPU)
- 『日本経済新聞』を読む 8(北陸新幹線、車中泊、ジョブ型、GPIF、メタンハイドレート)
- 『日本経済新聞』を読む 7(紙、ラストワンマイル、リユース市場、カード審査、ボルダリング)
- 『日本経済新聞』を読む 6(iPS細胞、騰落レシオ、短期プラ、REIT、フードテック)
- 『日本経済新聞』を読む 5(ナフサ、ビール、輸入牛肉、悪玉コレステロール、核融合)
- 『日本経済新聞』を読む 4(ダビンチ・サージカル・システム、ゼロエミッション船、クッキー、LBO、洋上風力発電)
- 『日本経済新聞』を読む 3(変動金利、HSP、スリープテック、双腕ロボット、物流パレット)
- 『日本経済新聞』を読む 2(DAC、株主優待、オピオイド、ベトナム車市場、離れ小島)
- 『日本経済新聞』を読む 1(リバースメンタリング、CBT、EBPM、地方創生DAO、IBD)
- テーマ株投資(7か月)
- 『会社四季報 2024年 3集 夏号』を読む 20(RPF、DtoC、ToF、駅ナカ、CX)
- 『会社四季報 2024年 3集 夏号』を読む 19(ATC、プローブカード、ニューデリー、商品CFD、SUV、FPC、IFRS)
- 『会社四季報 2024年 3集 夏号』を読む 18(シャリ玉ロボット、YAGレーザー、シナジー、SaaS、クルーズ、DFBレーザー)
- 『会社四季報 2024年 3集 夏号』を読む 17(DSP、サーメタル、自動小銃、ダイカストマシン、FPSO、サーボモーター、水晶振動子)
- 『会社四季報 2024年 3集 夏号』を読む 16(クロスセル、eVTOL、CFCC、RFID、配当性向、事業承継)
- 『会社四季報 2024年 3集 夏号』を読む 15(SiC半導体、NAS電池、フェロニッケル、フェライト粉、スポンジチタン)
- 『会社四季報 2024年 3集 夏号』を読む 14(AI警備システム、プロダクトアウト、ホットメルト接着剤、放熱ゲル、パイル、カソード)
- 『会社四季報 2024年 3集 夏号』を読む 13(PLM、ファクタリング、BCP、グリシン、メタクリル樹脂、アクティブシニア)
- テーマ株投資(6か月)
- 『会社四季報 2024年 3集 夏号』を読む 12(カプロラクタム、ゼロトラスト、RAG、ERP、シリカ)
- 『会社四季報 2024年 3集 夏号』を読む 11(オリゴマー、エッジAI、MLCC、ジルコニウム、アセチレンガス、ファインケミカル)
- 『会社四季報 2024年 3集 夏号』を読む 10(フラッシュハンドル、自動配膳ロボット、R-SUD、レコメンド機能、マーチャンダイジング、エレクトロニクスガス、コーシャ認証)
- 『会社四季報 2024年 3集 夏号』を読む 9(ペロブスカイト太陽電池、プロテイン、銀だこ、尿素SCR、エクソソーム)
- 『会社四季報 2024年 3集 夏号』を読む 8(ドミナント、EBITDA、SAF、消防車、キャンプ用品、GIGAスクール、ボウリング場)
- 『会社四季報 2024年 3集 夏号』を読む 7(MD、パーム椰子、GMS、EC、デジタルサイネージ、ハラール認証、ヴィーガンコスメ)
- 『会社四季報 2024年 3集 夏号』を読む 6(BIM、CMS、つけまつげ、CDMO、BNPL、EDI、CRM)
- 『会社四季報 2024年 3集 夏号』を読む 5(アグリゲーション、EMS、BPO、のれん、カカオ豆、オーツミルク)
- 『会社四季報 2024年 3集 夏号』を読む 4(SEP、社内起業、ZEP、VPP、DOE、バイオセンサー、PBX)
- 『会社四季報 2024年 3集 夏号』を読む 3(海上油田、シェールオイル、カーボンクレジット、キャッシュフロー経営、軽量気泡コンクリート、医療観光、洋上風力発電)
- テーマ株投資(5か月)
タグ
break (1) class (3) collection (6) continue (1) CSS (2) DOM (2) for (1) function (3) HTML (8) if (2) JavaScript (28) object (5) pop (1) push (1) shift (1) switch (1) unshift (1) VBA (1) while (2) ことば (9) アンガーマネジメント (1) インソース (1) ココナラ (11) コーチング (1) チーズ (2) ネズミ (2) ノート (2) パーソルホールディングス (3) ブランディング (1) ブランド (1) プログリット (1) ポート (1) メモ (2) リスキリング (1) リンクアンドモチベーション (2) 変数 (3) 学習 (1) 小人 (2) 怒り (1) 株式 (29) 用語 (2) 睡眠 (3) 給水器 (1) 記憶 (3) Aoba-BBT (11) IGS (11) Kラーニング (1)