javascript - 从对象数组中检索对象的元素

标签 javascript

我有数组 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 值,每次它 仅检索数组中的最后一个值。

最佳答案

您正在更改同一个对象。您将 tObj 插入数组,但对象仍然存在,并且数组包含对该对象的引用。因此,任何更改都将反射(reflect)在引用对象的任何位置。

有关详细信息,请参阅此 SO 答案:Javascript by reference vs. by value

关于javascript - 从对象数组中检索对象的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928891/

相关文章:

javascript - 在jquery中添加文本框标题

javascript - 单击 ionic 导航栏中的按钮移动到新页面的所有 3 种方法都不起作用

javascript - 一个 cookie 的多个过期选项? (javascript)

php - 如何在不重新加载的情况下刷新 PHP 页面

javascript - 简单的区 block 链程序

javascript - 来自数组 javascript 的源

javascript - 从同一外部容器中的另一个链接获取 html data-* 属性

javascript - 一张 Google map 上具有多种颜色的多个多边形

javascript - 为什么我的表单数据在使用 Angular $http 时没有发布

javascript - 为什么我的日期在 TypeScript 中不起作用?