標(biāo)準(zhǔn)javascript 是內(nèi)含支持hash關(guān)聯(lián)數(shù)組,經(jīng)查找資料并測試,有關(guān)標(biāo)準(zhǔn)javascript內(nèi)含的hash關(guān)聯(lián)數(shù)組操作備忘如下
1。Hash關(guān)聯(lián)數(shù)組定義
// 定義空數(shù)組
myhash = { }
// 直接定義數(shù)組
myhash = {”key1″:”val1″, “key2″:”val2″ }
// 用Array 定義數(shù)組
myhash = new Array();
myhash[”key1″] = “val1″;
myhash[”key2″] = “val2″;
2。向Hash關(guān)聯(lián)數(shù)組添加鍵值
// 添加一個(gè)新鍵 newkey ,鍵值為 newval
myhash[”newkey”] = “newval”;
3。刪除Hash關(guān)聯(lián)數(shù)組已有鍵值
// 刪除一個(gè)鍵 newkey ,同時(shí),該鍵值對應(yīng)的 newval 也就消失了
delete myhash[”newkey”];
4。遍歷Hash關(guān)聯(lián)數(shù)組
// 遍歷整個(gè)hash 數(shù)組
for (key in myhash) {
val = myhash[key];
}
5。Hash關(guān)聯(lián)數(shù)組簡易使用示例
// 轉(zhuǎn)向腳本
<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>” + “按此即可進(jìn)入” + “</a>” + userinfo + “。”);
// getURL
// 如果參數(shù)未定義,默認(rèn)返回 www.yahoo.cn 網(wǎng)址
// @param choice 選擇名稱
// @return url 實(shí)際的URL
function getURL(choice) {
url = urlhash[choice];
if (typeof(urlhash[choice]) == “undefined”)
url = “www.yahoo.cn“;
return url;
}
// 獲得hash列表的所有 keys
// @param hash hash數(shù)組
// @return keys 鍵名數(shù)據(jù)
function array_keys(hash) {
keys = [];
for (key in hash)
keys.push(key);
return keys;
}
</script>