我需要將Java中的代碼遷移到JavaScript。 在java中,我保持與關鍵=字符串值=對象JavaScript對象數組
我需要實現同在JavaScript的ArrayList的一個HashMap:
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);
但是,當我試圖讓該屬性指定key
this.hashMap.get(fileName1).getId()
我得到value = id2,它是爲HashMapDataSet對象設置的最後一個id。
我試圖模仿getter和setter在javascript如下面的鏈接中指定: 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關聯起來。請幫助。
一個目標是不是很安全的,因爲在一般情況下,地圖中使用。你只能有String鍵,並且使用與'toString'等Object屬性衝突的某些鍵會導致瀏覽器問題加劇。 – bobince 2009-11-20 13:41:27