JavaScriptにはハッシュ(連想配列)というものがあります。配列では要素を特定できるように0からの数字(インデックスという)が割り当てられます。このインデックスが数字ではわかりにくい場合があります。この時ハッシュと呼ばれる連想配列を使うとわかりやすくなります。
ハッシュとは?
keyという文字列を指定して値(value)を設けることのできる配列です。ハッシュには2通りの書き方があります。
1 2 3 4 |
var hash = { 'fruits': 'りんご', 'animal': '猫', 'country': '日本' }; console.log( hash['animal'] ); // 実行結果:猫 |
:の前にある、文字列(fruitsや、animal)をkey、:の後ろにある文字列(りんごや猫)をvalueといいます。
1 2 3 4 5 6 7 8 |
var hash = {}; hash['fruits'] = 'りんご'; hash['animal'] = '猫'; hash['country'] = '日本'; console.log( hash['animal'] ); // 実行結果:猫 |
こちらでは[]で囲われた文字列がkey、= の後ろにある文字列がvalueになっています。
ハッシュの呼び出し方
1 2 3 4 |
var hash = { 'fruits': 'りんご', 'animal': '猫', 'country': '日本' }; console.log( hash['animal'] ); // 実行結果:猫 |
ハッシュの呼び出し方は、定義したハッシュ名['key名'] で keyに紐付いたvalueを取り出すことができます。上のコードの場合、 'animal' というkeyに紐付いた '猫' というvalueを取り出しています。
ハッシュから特定の要素を削除する
1 2 3 4 5 6 7 8 |
var hash = { 'fruits': 'りんご', 'animal': '猫', 'country': '日本' }; // animalというkeyを削除 delete hash['animal']; console.log( hash['animal'] ); // 実行結果:undefined |
実行結果がundefinedになっています。これは定義されていませんというエラーです。よって 'animal' というkeyが削除されたことが確認できました。特定の要素の削除は以下の文でできます。
1 |
delete 定義したハッシュ名['削除したいkey名'] |
このようにハッシュを使うと呼び出したい要素がわかりやすくなります。