1. 程式人生 > >Javascript中陣列與字典(即map)的使用(備忘)

Javascript中陣列與字典(即map)的使用(備忘)

簡述:

簡單記錄一下資料結構Map和陣列,

其實在Javascript這種弱型別的指令碼語言中,陣列同時也就是字典,下面主要就是字典陣列的簡易使用

程式碼:

1. 陣列中新增map

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
<script type="text/javascript">

var arr = [];
var key = 'Jeremy';
var value = '!!!!'
arr.push({
    'key': key,
    'value': value,
});

document.write("key: " + arr[0]['key'] +
	    "<br/>value: " + arr[0]['value']);

</script>
</head>
<body>

</body>
</html>

輸出0:


2. 陣列遍歷輸出

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<script type="text/javascript">
var arr = [];
arr.push("Jeremy");
arr.push("Jimmy");
for(var i in arr)
	document.write(i + ": " + arr[i] + "</br>");
</script>
</body>
</html>

輸出1:

3. 類似字典(map)遍歷

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<script type="text/javascript">
var dict = []; //or dict = new Array()
dict["Jeremy"] = 20;
dict["Jimmy"] = 30;
for(var key in dict)
	document.write(key + ": " + dict[key] + "</br>");
</script>
</body>
</html>

輸出2:


4. 字典宣告時賦值

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<script type="text/javascript">
var dict = {
	"Jeremy" : 20,
	"Jimmy" : 30
};
for(var key in dict)
	document.write(key + ": " + dict[key] + "</br>");
</script>
</body>
</html>

輸出3:

5.字典中巢狀陣列

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<script type="text/javascript">
var dict = {
	"Jeremy" : ["Chinese", "Math"] ,
	"Jimmy" : ["Art", "English"]
};
var name = "Jeremy";
for(var courseIndex in dict[name])
	document.write(dict[name][courseIndex] + "</br>");
</script>
</body>
</html>

輸:4:


6. 字典裡value為陣列, 陣列內為字典,

下面的邏輯就是學生 :  課程列表 : 某門的課程資訊

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Test</title>
</head>
<body>
<script type="text/javascript">
var dict = [];
var courseListOfJeremy = [
	{"Chinese" : 3}, 
	{"Math": 5}
];
dict['Jeremy'] = courseListOfJeremy;
var courseListOfJimmy =  [
	{"Art": 3}, 
	{"English": 5}
];
dict['Jimmy'] = courseListOfJimmy;

document.write("Jimmy's Course Number Of Chinese: " + dict['Jeremy'][0]['Chinese']);
</script>
</body>
</html>

輸出5: