Javascriptで指定したキーが連想配列に存在するか確認するコードを紹介します。
概要
Javascriptで指定したキーが連想配列に存在するかを調べるには in 演算子を利用します。
連想配列名 in キー名
連想配列にキーが含まれていれば true 含まれていなければ false になります。
コード
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
var data = new Array();
function init() {
data["URL"] = "http://www.ipentec.com";
data["SiteName"] = "iPentec";
data["Since"] = "2000/01/25"
data["mail"] = "info@ipentec.com"
}
function CheckData() {
var text = document.getElementById("textBox1").value;
if (text in data == true) {
document.getElementById("output").innerText = "キー名: " + text + " は配列に含まれています。(値: "+data[text]+" )";
} else {
document.getElementById("output").innerText = "キー名: " + text + " は配列に含まれていません。";
}
}
</script>
<meta charset="utf-8" />
</head>
<body onload="init();">
<input type="text" id="textBox1" /><br/>
<input type="button" value="Button" onclick="CheckData();"/><br/>
<div id="output"></div>
</body>
</html>
解説
var data = new Array();
function init() {
data["URL"] = "http://www.ipentec.com";
data["SiteName"] = "iPentec";
data["Since"] = "2000/01/25"
data["mail"] = "info@ipentec.com"
}
上記コードで連想配列に値を代入します。
function CheckData() {
var text = document.getElementById("textBox1").value;
if (text in data == true) {
document.getElementById("output").innerText = "キー名: " + text + " は配列に含まれています。(値: "+data[text]+" )";
} else {
document.getElementById("output").innerText = "キー名: " + text + " は配列に含まれていません。";
}
}
ボタンクリック時には上記の CheckData() 関数が実行されます。検索するキー名はテキストボックスに入力された値を読み込みtext変数に代入します。in 演算子を用いてdata連想配列にtextのキーがあるか判定し、キーがある場合はメッセージと連想配列の値を表示します。キーがない場合はメッセージのみを表示します。
実行結果
上記のHTMLファイルをWebブラウザで表示します。下図の画面が表示されます。
上部のテキストボックスに"URL"を入力します。入力後[Button]ボタンをクリックします。
"URL"は連想配列に存在しているため、連想配列に含まれている旨のメッセージと、その値が画面に表示されます。
"Since"を入力した場合も、連想配列に存在しているため、値が表示されます。
テキストボックスに連想配列に存在していないキーを指定した場合は、配列に含まれていない旨のメッセージが表示されます。
指定したキーの要素が連想配列に存在しているか確認できました。
著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2017-09-04
作成日: 2015-12-18