好程式設計師web前端分享javascript關聯陣列用法總結

好程式設計師IT發表於2019-04-24

好程式設計師 web前端分享 javascript關聯陣列用法總結,有需要的朋友可以參考下。

 

Hash關聯陣列定義

程式碼如下

// 定義空陣列

myhash = { }

// 直接定義陣列

myhash = {"key1":"val1","key2":"val2" }

// 用Array 定義陣列

myhash = new Array();

myhash["key1"] = "val1";

myhash["key2"] = "val2";

 

Hash關聯陣列新增鍵值

程式碼如下

// 新增一個新鍵 newkey ,鍵值為 newval

myhash[”newkey”] = “newval”;

 

刪除 Hash關聯陣列已有鍵值

程式碼如下

// 刪除一個鍵 newkey ,同時,該鍵值對應的 newval 也就消失了。

delete myhash[”newkey”];

 

遍歷 Hash關聯陣列

程式碼如下 複製程式碼

// 遍歷整個hash 陣列

for (key in myhash) {

val = myhash[key];

}

 

Hash關聯陣列簡易使用示例

程式碼如下

<script type=”text/javascript”>

urlhash = { “yahoo”:”“,

“baidu”:”“,

“google”:”” };

// 互動式使用示例

userinfo = prompt(”請輸入您最想去的搜尋引擎:(yahoo|baidu|google)”, “yahoo”);

document.write (”您的選擇:” + userinfo + “,<a href=http://” + getURL(userinfo) + ” target=_blank>” + “按此即可進入” + “</a>” + userinfo + “。”);

// getURL

// 如果引數未定義,預設返回 網址

// @param choice 選擇名稱

// @return url 實際的URL

function getURL(choice) {

url = urlhash[choice];

if (typeof(urlhash[choice]) == “undefined”)

url = ““;

return url;

}

// 獲得hash列表的所有 keys

// @param hash hash陣列

// @return keys 鍵名資料

function array_keys(hash) {

keys = [];

for (key in hash)

keys.push(key);

return keys;

}

</script>

 

例如:

//這裡主要是說明 對於關聯陣列的遍歷,首先定義一個陣列:

程式碼如下

var arr = new Array();

//隨便建立關聯陣列的資料如下:

arr["name"] = "mary";

arr["age"] = "3";

arr["sex"] = "man";

//利用 for 迴圈遍歷如下:

for( var keyin arr)

{

// 則上面 key 變數所取的值為 "name" 或 "age" 或 "sex",

//而不是陣列的值

// 下面的 value 才是取到對應的值

var value = arr[key];

}

 

JS中物件的屬性可以透過括號”[ ]”或者“.”來訪問,例如上面的 a[“a”]和a.a是等效的。

例子

下面的程式碼建立並初始化一個包含三個元素的關聯陣列(注意格式):

程式碼如下

var MyArray = {"a" : "Athens", "b" : "Belgrade", "c" : "Cairo" };

 

在該陣列中,可以使用字串 (“a”、 “b” 或 “c”) 來對元素定址,而不是用陣列元素的編號 (0、1 或 2)定址。

這樣就可以以更直觀的定址方案來建立和使用陣列。同樣可以使用上面顯示的 for…in 語句程式碼來遍歷該陣列。

for (key in myArray)

document.write(“Element value is ” + MyArray[key] + “

);


舉例 :

<html>

<script>

var myArray = {"a" : "Athens", "b" : "Belgrade", "c" : "Cairo" };

for (key in myArray){

document.write( key+"="+myArray[key] + "<BR>");

}

document.write("a="+myArray["a"]);

</script>

</html>


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69913892/viewspace-2642422/,如需轉載,請註明出處,否則將追究法律責任。

相關文章