国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

Javascript的數(shù)組與字典用法與遍歷對象的屬性技巧

2024-05-06 14:20:57
字體:
來源:轉載
供稿:網(wǎng)友

Javascript 的數(shù)組Array,既是一個數(shù)組,也是一個字典(Dictionary)。先舉例看看數(shù)組的用法。
代碼如下:
var a = new Array();
a[0] = "Acer";
a[1] = "Dell";
for (var i = 0; i < a.length; i++) {
alert(a[i]);
}

下面再看一下字典的用法。
代碼如下:
var computer_price = new Array();
computer_price["Acer"] = 500;
computer_price["Dell"] = 600;
alert(computer_price["Acer"]);

我們甚至可以同樣象上面那樣遍歷這個數(shù)組(字典)
代碼如下:
for (var i in computer_price) {
alert(i + ": " + computer_price[i]);
}

這里的 i 即為字典的每個鍵值。輸出結果為:
Acer: 500
Dell: 600

另外 computer_price 是一個字典對象,而它的每個鍵值就是一個屬性。也就是說 Acer 是 computer_price 的一個屬性。我們可以這樣使用它:
computer_price.Acer

再來看一下字典和數(shù)組的簡化聲明方式。
var array = [1, 2, 3]; // 數(shù)組
var array2 = { "Acer": 500, "Dell": 600 }; // 字典
alert(array2.Acer); // 500
這樣對字典的聲明是和前面的一樣的。在我們的例子中,Acer又是鍵值,也可是作為字典對象的屬性了。

下面再來看看如何對一個對象的屬性進行遍歷。我們可以用 for in 來遍歷對象的屬性。
代碼如下:
function Computer(brand, price) {
this.brand = brand;
this.price = price;
}
var mycomputer = new Computer("Acer", 500);
for (var prop in mycomputer) {
alert("computer[" + prop + "]=" + mycomputer[prop]);
}

上面的代碼中,Computer有兩個屬性,brand 和 price.所以輸出結果為:
computer[brand]=Acer
computer[price]=500
上面的這種用法可以用來查看一個對象都有哪些屬性。當你已經(jīng)知道Computer對象有一個brand屬性時,就可以用
mycomputer.brand
或 mycomputer[brand]
來獲取屬性值了。
總結:Javascript中的數(shù)組也可以用來做字典。字典的鍵值也是字典對象的屬性。對一個對象的屬性進行遍歷時,可以用for in。

數(shù)組遍歷與屬性
雖然在 JavaScript 中數(shù)組是是對象,但是沒有好的理由去使用 for in 循環(huán) 遍歷數(shù)組。
相反,有一些好的理由不去使用 for in 遍歷數(shù)組。
注意: JavaScript 中數(shù)組不是 關聯(lián)數(shù)組。
JavaScript 中只有對象 來管理鍵值的對應關系。但是關聯(lián)數(shù)組是保持順序的,而對象不是。
由于 for in 循環(huán)會枚舉原型鏈上的所有屬性,唯一過濾這些屬性的方式是使用hasOwnProperty 函數(shù),
因此會比普通的 for 循環(huán)慢上好多倍。
遍歷
為了達到遍歷數(shù)組的最佳性能,推薦使用經(jīng)典的 for 循環(huán)。
代碼如下:
var list = [1, 2, 3, 4, 5, ...... 100000000];
for(var i = 0, l = list.length; i < l; i++) {
console.log(list[i]);
}

上面代碼有一個處理,就是通過 l = list.length 來緩存數(shù)組的長度。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 定襄县| 鄂州市| 德昌县| 保亭| 昌乐县| 宣恩县| 建昌县| 凉城县| 枣强县| 建始县| 长兴县| 南江县| 磐安县| 池州市| 石门县| 东乡族自治县| 遂川县| 株洲市| 两当县| 乐陵市| 江北区| 紫金县| 仪陇县| 清流县| 柏乡县| 江门市| 涿州市| 武定县| 青冈县| 普宁市| 晴隆县| 大城县| 耿马| 扎兰屯市| 双流县| 嘉兴市| 刚察县| 绥化市| 玉林市| 道孚县| 方城县|