我有數組NatArray和對象NatObj,這個對象我推到 前一個數組,但是在檢索它只獲取最後一個條目時, 這是我的代碼從對象數組中回收對象的元素
var tArray = [];
var tObj ;
tObj = {};
tObj.TranslatedLocIpAddr = 202116107;
tObj.TranslatedLocPort = 123;
tObj.LocIp = 50529027;
tObj.LocPort = 324;
tObj.LocPortRange = 5;
count = 0;
tArray.push(tObj) ;
tObj.TranslatedLocIpAddr = 202116108;
tObj.TranslatedLocPort = 130;
tObj.LocIp = 67372036;
tObj.LocPort = 324;
tObj.LocPortRange = 5;
count = 1;
tArray.push(tObj) ;
for (var i = 0; i <= count ;i++) {
if((tArray[i].TranslatedLocIpAddr == tGlobalIp)
&& (tArray[i].TranslatedLocPort == tGlobalPort)) {
alert("Existing t entry");
return false;
}
}
我已經驗證了tArray[i].TranslatedLocIpAddr
值,每次它 僅檢索數組中的最後一個值。
難道你需要'tObj1'或類似的東西? –
非常感謝,現在它工作 – kelvin
@JanHančič - 不,你並不需要第二個變量。第一個'.push後右()',無論是陣列元件和'tObj'可變點相同的對象。然後,當分配'tObj = {};'第二時間,即一個新的空對象分配給'tObj',但該陣列的第一個元素仍包含所述第一對象的引用。第二個'.push()'然後將第二個對象放入數組中。 – jfriend00