標準javascript 是內含支持hash關聯數組,經查找資料并測試,有關標準javascript內含的hash關聯數組操作備忘如下
1。Hash關聯數組定義
// 定義空數組
myhash = { }
// 直接定義數組
myhash = {”key1″:”val1″, “key2″:”val2″ }
// 用Array 定義數組
myhash = new Array();
myhash[”key1″] = “val1″;
myhash[”key2″] = “val2″;
2。向Hash關聯數組添加鍵值
// 添加一個新鍵 newkey ,鍵值為 newval
myhash[”newkey”] = “newval”;
3。刪除Hash關聯數組已有鍵值
// 刪除一個鍵 newkey ,同時,該鍵值對應的 newval 也就消失了
delete myhash[”newkey”];
4。遍歷Hash關聯數組
// 遍歷整個hash 數組
for (key in myhash) {
val = myhash[key];
}
5。Hash關聯數組簡易使用示例
// 轉向腳本
<script type=”text/javascript”>
urlhash = { “yahoo”:”www.yahoo.cn“,
“baidu”:”www.baidu.com“,
“google”:”www.google.cn” };
// 交互式使用示例
userinfo = prompt(”請輸入您最想去的搜索引擎:(yahoo|baidu|google)”, “yahoo”);
document.write (”您的選擇:” + userinfo + “,<a href=http://” + getURL(userinfo) + ” target=_blank>” + “按此即可進入” + “</a>” + userinfo + “。”);
// getURL
// 如果參數未定義,默認返回 www.yahoo.cn 網址
// @param choice 選擇名稱
// @return url 實際的URL
function getURL(choice) {
url = urlhash[choice];
if (typeof(urlhash[choice]) == “undefined”)
url = “www.yahoo.cn“;
return url;
}
// 獲得hash列表的所有 keys
// @param hash hash數組
// @return keys 鍵名數據
function array_keys(hash) {
keys = [];
for (key in hash)
keys.push(key);
return keys;
}
</script>