【发布时间】:2009-11-20 09:56:27
【问题描述】:
我需要将 java 中的代码迁移到 javascript。 在 java 中,我正在维护一个带有 key = string 和 value = 对象数组列表的哈希图
我需要在 javascript 中实现相同的功能:
this.hashMap = new Hash();
this.hashMapArrayList =[];
...
var hashMapDataSet = new HashMapDataSet(id1,name1,type1);
this.hashMapArrayList[0] = hashMapDataSet;
...
this.hashMap.set(fileName1, this.hashMapArrayList);
var hashMapDataSet1= new HashMapDataSet(id2,name2,type2);
this.hashMapArrayList[0] = hashMapDataSet1;
this.hashMap.set(fileName2, this.hashMapArrayList);
但是当我尝试获取指定键的属性时
this.hashMap.get(fileName1).getId()
我得到 value= id2,这是为 HashMapDataSet 对象设置的最后一个 id。
我试图模仿以下链接中指定的 javascript 中的 getter 和 setter: http://javascript.crockford.com/private.html
这里是 HashMapDataSet 类
function HashMapDataSet(pId, pName, pType) {
var id = pId;
var name = pName;
var type = pType;
function getId1() {
return id;
}
function setId1(mId) {
id = mId;
}
....
this.getId = function () {
return getId1();
};
this.setId = function (id) {
setId1(id);
};
...
}
其中 getId1、setId1 是私有方法,而 getId、setId 是特权方法
我是 javascript 新手,所以我无法将 java 对象与 javascript 相关联。请帮忙。
【问题讨论】:
标签: javascript arrays object