2017-05-26 40 views
0

我有一个对象数组,我正在寻找返回每个条目的timeStamp值。我正在使用的方法如下:搜索对象数组,最近值缺失/值报告为错误

function popGraph() { 
    jQuery(globalData).each(function(i, item) { 
     console.log(item.uID, item.timeStamp) 
    }); 
} 

但是,它似乎没有返回大部分最新的数据。返回最近的值是timeStamp: 1484747211但最近的数据项是timeStamp:14957862831

控制台还似乎是说,每个console.log是一个错误:数组的

19455746_3_10 1483388143.76518 scripts.js:37:7 

例子:

[{"blobJson":"x","deviceMfg":10,"eventCode":1,"sensorClass":3,"sensorUUID":"19455746","timeStamp":1.495786283580328E9,"uID":"19455746_3_10"}, 
{"blobJson":"x","deviceMfg":10,"eventCode":1,"sensorClass":3,"sensorUUID":"19455746","timeStamp":1.495786282578029E9,"uID":"19455746_3_10"}, 
{"blobJson":"x","deviceMfg":10,"eventCode":1,"sensorClass":3,"sensorUUID":"19455746","timeStamp":1.495786281072998E9,"uID":"19455746_3_10"}] 
+0

为什么'jQuery(...)'部分?使用['Array.prototype.map()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map)来代替 - >'globalData.map(。 ..)' – Andreas

+0

真的我没有得到什么是你的问题 – JYoThI

+0

问题是函数返回的最近时间戳是在数据中存储实际最近时间戳之前的几天。 – Colin747

回答

1

这里是一个工作捣鼓你:https://jsfiddle.net/e17p6vqb/8/

function popGraph(o) { 
    $.each(o,function(i, item) { 
     if(i >= 50){ 
     return false; 
     } 
     console.log(item.uID, item.timeStamp); 
    }); 
} 

var tmp = [{blobJson:"x",deviceMfg:10,eventCode:1,sensorClass:3,sensorUUID:"19455746",timeStamp:1.495786283580328E9,uID:"19455746_3_10"}]; 


popGraph(tmp); 
+0

是否可以设置限制返回多少结果?例如前50次邮票? – Colin747

+1

我编辑了小提琴和答案:) – Zenoo

+0

这是完美的,谢谢!我会接受你的答案,并将我的信息留给将来任何人的信息。 – Colin747

0

试试这个...

globalData.map(item => { 
    return {"timeStamp": item.timeStamp, uID: item.uID} 
}); 
+0

我仍然有问题,最近返回的值是'timeStamp:1484747211',但数据中最近的条目是'timeStamp:14957862831' – Colin747

0

原来,我的问题是,Firefox的日志控制台只能设置为默认显示1000线日志。我在这里返回超过1000行,这就是为什么最近的日志丢失。

对于其他人,请在FireFox地址栏中输入about:config,然后向下滚动到devtools.hud.loglimit.console,您可以在其中编辑限制。