<script type="text/javascript">
// 自定一个对象的结构方法(针对不同的城市的行政办公室职位配置)
function OfficeRecord(city, manager, quota) {
this.city = city; //城市
this.manager = manager; //执行经理
this.quota = quota; //职数配额
}
// 创建一个数组对象用来保存城市的职位配置
var regionalOffices = new Array();
// 使用数组来保存不同城市的分公司的行政职位配置,对于数组的元素,我们使用构造方法来赋值
regionalOffices[0] = new OfficeRecord("New York", "Shirley Smith", 300000);
regionalOffices[1] = new OfficeRecord("Chicago", "Todd Gaston", 250000);
regionalOffices[2] = new OfficeRecord("Houston", "Leslie Jones", 350000);
regionalOffices[3] = new OfficeRecord("Portland", "Harold Zoot", 225000);
//JS的数组比较特别,可以使用标签字符来表示,比如东区经理
regionalOffices["east"] = new OfficeRecord("New York", "Arklis zeng",300000);
//那么我们可以使用east标识来得到东区的经理
var reginalManager = regionalOffices["east"].manager;
alert("使用数组下标标识找到的经理名字:" + reginalManager);
//因此我们可以使用JS的数组来模拟Hashtable
for (var i = 0; i < regionalOffices.length; i++) {
//把数组变成一个Hashtable集合:以城市为下标,它对于一个OfficeRecord对象
regionalOffices[regionalOffices[i].city] = regionalOffices[i];
//显示hashtable对象
document.write(regionalOffices[regionalOffices[i].city] + "<br/>");
}
//通过键来取对应的值--指使用城市名称来找到相应的经理名字
alert("使用键/值对--指城市名称对象的OfficeRecord对象得到的经理名字:" + regionalOffices["Houston"].manager);
</script>