I 3J avaScript sam plecode M tciosofl nternet Explorer HË 3]
116 Chướng 4: Tổ chức dữ liệu thành các mảng
Các m ảng Jav aS crip t hỗ trợ việc sử dụng các chuỗi làm các index. Khi một chuỗi được sử dụng làm một index, nĩ được gọi là một h ash table (bảng băm)
var FruitColors = new Arrayo, FruitColorsfApple"] = “red”: FruitColorsrBanana”] = “yellow” ; FruitColors[“G rape”] = "purple";
ở đây chuỗi "Apple" được sử dụng làm index để lưu trữ giá trị "red". Chuỗi "Apple" cĩ th ể được gọi là keỵ Các giá trị được lưu trữ trong các bảng h ash cĩ th ể được truv tìm sử dụng kev nàv tương tự nh ư các m ảng được tạo index bằng số’
document.write (“Apples are “ + Fru¡tColors[“Apple”] + ”.<br>”); document.write (“Bananas are “ + FruitColors[“Banana”] + “,<br>”)¡ document.write ("Grapes are " + FruitColorsP'Grape"] + ".<br>");
Như chúng ta đã th ấy trong chương 2, các m ảng cũng cĩ th ể được truy cập sử dụng câu lệnh for-in. Câu lệnh for-in sẽ lặp lại qua từng phần tử trong m ột m ảng trả về các index hoặc keỵ
var FruitColors = new Arrayo ; Fru¡tColors[“Apple"] = “red’1; FruitCoìors[“Banana”] = “yellow”; FruitColorsfGrape"] = “purple"; for (var fruit in FruitColors) (
document.wrile ifruit + ‘s are ‘ + FiuitCoiors[lruii] + “.<br>"); } ơ đây, vịng lặp for-in lặ p lạ i tr ê n hàm docum ent.write 0 ba lần, một lần cho từng p hần tử trong mảng. Kết quả vừa cĩ được cĩ th ể tìm th ấy trong h ìn h 4.1. Hình 4.1 Vịng lặp lor-in lặp lại trên một bảng hash.
I 'S JavaSctipt ttttp l« cod* Mictotott InlMnel Etploiof REilQl*| frft View f f f m i m J o c k tjato ......... ta *| frft View f f f m i m J o c k tjato ......... ta
......._ ü ■ 4 a ...2 j
Stop Refcech Home S t & c h Favcrttỵ MedkJ H a k yy
I
Using for-in on a Hash Table
A pples H i t te d R ananas are yellow C r a p » 0 /e {Jiuplc
-d ® D c n a t ị l^lxỉátiÁârttt " •
Chưởng 4: Tổ nhức dữ liệí thành các mảng 117
Cùng m ột một kỹ thuật cĩ thể được sử dụng cho các m ảng cĩ các index số:
var Players = new Array(); PlayersỊO] = “Jaime”; Players[1] = “Mom“; Players[?] ^ “Bart”; Players[3] = “LiezT';
// Who do we have playing bridgẻ for (var name in Players) {
document.write (name + '■):
document.write (Players[name] + “ is playing bridgẹ<br>");
}
Như bạn cĩ th ể th ấy từ kết quả trong hình 4.2 vịng lặp for-in cùng cĩ th ể ]Ạp lại trê n lừng người chơi bài brit.