我有数组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