- HTML5權威指南
- (美)Adam Freeman
- 776字
- 2020-01-10 15:29:18
5.6 使用數組
JavaScript數組的工作方式與大多數編程語言中的數組類似。代碼清單5-26示范了如何創建和填充數組。
代碼清單5-26 創建和填充數組
<! DOCTYPE HTML> <html> <head> <title>Example</title> </head> <body> <script type="text/javascript"> var myArray = new Array(); myArray[0] = 100; myArray[1] = "Adam"; myArray[2] = true; </script> </body> </html>
例中通過調用new Array()創建一個新的數組。這是一個空數組,它被賦給變量myArray。后面的語句給數組中的幾個索引位置設置了值。
此例有幾處需要說明一下。首先,創建數組的時候不需要聲明數組中元素的個數。JavaScript數組會自動調整大小以便容納所有元素。第二,不必聲明數組所含數據的類型。JavaScript數組可以混合包含各種類型的數據。例中分別把一個數值、一個字符串和一個布爾值賦給了不同的數組元素。
5.6.1 使用數組字面量
使用數組字面量,可以在一條語句中創建和填充數組,如代碼清單5-27所示。
代碼清單5-27 使用數組字面量
<! DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myArray = [100, "Adam", true];
</script>
</body>
</html>
此例通過在一對方括號([和])之間指定所需數組元素的方式創建了一個新數組,并將其賦給變量myArray。
5.6.2 讀取和修改數組內容
要讀取指定索引位置的數組元素值,應使用一對方括號([和])并將索引值放在方括號間,如代碼清單5-28所示。JavaScript數組的索引值從0開始。
代碼清單5-28 讀取指定索引位置的數組元素值
<! DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myArray = [100, "Adam", true];
document.writeln("Index 0: " +myArray[0]);
</script>
</body>
</html>
要修改JavaScript數組中指定位置的數據,只消將新值賦給該索引位置的數組元素即可。與普通變量一樣,改變數組元素的數據類型沒有任何問題。代碼清單5-29示范了如何修改數組內容。
代碼清單5-29 修改數組內容
<! DOCTYPE HTML>
<html>
<head>
<title>Example</title>
</head>
<body>
<script type="text/javascript">
var myArray = [100, "Adam", true];
myArray[0] = "Tuesday";
document.writeln("Index 0: " + myArray[0]);
</script>
</body>
</html>
此例將一個字符串賦給了數組第0位的元素,該元素原來保存的是一個數值。
5.6.3 枚舉數組內容
可以用for循環枚舉數組內容。代碼清單5-30示范了如何使用循環語句顯示一個簡單數組的內容。
代碼清單5-30 枚舉數組內容
<! DOCTYPE HTML> <html> <head> <title>Example</title> </head> <body> <script type="text/javascript"> var myArray = [100, "Adam", true]; for (var i = 0; i < myArray.length; i++) { document.writeln("Index " + i + ": " + myArray[i]); } </script> </body> </html>
JavaScript中的循環語句的工作方式與大多數語言中的類似。要確定數組中的元素個數可以使用其length屬性。代碼清單的輸出結果如下:
Index 0: 100 Index 1: Adam Index 2: true
5.6.4 使用內置的數組方法
JavaScript中的Array對象定義了許多方法。表5-5羅列了一些最常用的方法。
表5-5 常用數組方法

- 微服務設計(第2版)
- C/C++算法從菜鳥到達人
- Java 9 Programming Blueprints
- PostgreSQL技術內幕:事務處理深度探索
- 精通軟件性能測試與LoadRunner實戰(第2版)
- Java持續交付
- Apache Karaf Cookbook
- ADI DSP應用技術集錦
- R Deep Learning Cookbook
- Android系統原理及開發要點詳解
- Babylon.js Essentials
- 微信小程序開發與實戰(微課版)
- Internet of Things with ESP8266
- Hands-On Nuxt.js Web Development
- Hands-On Robotics Programming with C++