我有数组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;
}
}
Run Code Online (Sandbox Code Playgroud)
tArray[i].TranslatedLocIpAddr每次检索数组中的最后一个值时,我都验证了该值.
您正在更改同一个对象.您推tObj送到数组,但对象仍然存在,并且数组包含对该对象的引用.因此,任何更改都将反映在引用对象的任何位置.
有关更多详细信息,请参阅此SO答案:Javascript按引用与按值
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |