Javascript 从具有纪元时间的json获取最新记录
我正在使用angularjs创建应用程序。我的json类似于:Javascript 从具有纪元时间的json获取最新记录,javascript,angularjs,json,Javascript,Angularjs,Json,我正在使用angularjs创建应用程序。我的json类似于: { "dps": { "1455719820": 0, "1455720150": 0, "1455720480": 0, "1455720810": 0, "1455721140": 0, "1455721470": 0, "1455721800": 0, "1455722130": 0 } } 我想从json中获
{
"dps": {
"1455719820": 0,
"1455720150": 0,
"1455720480": 0,
"1455720810": 0,
"1455721140": 0,
"1455721470": 0,
"1455721800": 0,
"1455722130": 0
}
}
我想从json中获取最近时间的值。我不知道如何才能做到这一点。在我看来,最兼容、最容易阅读的方式是:
var o={
“dps”:{
"1455719820": 10,
"1455720150": 90,
"1455720480": 110,
"1455720810": 560,
"1455721140": 670,
"1455721470": 120,
"1455721800": 9,
"1455722130": 130
}
}
//只是分类而已
var arr=Object.keys(o.dps.sort();//你的钥匙实际上已经分类了
控制台日志(arr);
//获取最新值;
var最新=arr.pop();
var val=o.dps[最新];
console.log(最新,val)
在我看来,这是最兼容、最容易阅读的方式:
var o={
“dps”:{
"1455719820": 10,
"1455720150": 90,
"1455720480": 110,
"1455720810": 560,
"1455721140": 670,
"1455721470": 120,
"1455721800": 9,
"1455722130": 130
}
}
//只是分类而已
var arr=Object.keys(o.dps.sort();//你的钥匙实际上已经分类了
控制台日志(arr);
//获取最新值;
var最新=arr.pop();
var val=o.dps[最新];
console.log(最新,val)
var最大值=0;
var obj={
“dps”:{
"1455719820": 0,
"1455720150": 0,
"1455720480": 0,
"1455720810": 0,
"1455721140": 0,
"1455721470": 0,
"1455721800": 0,
"1455722130": 0
}
}
用于(输入obj.dps){
如果(最大值var最大值=0;
var obj={
“dps”:{
"1455719820": 0,
"1455720150": 0,
"1455720480": 0,
"1455720810": 0,
"1455721140": 0,
"1455721470": 0,
"1455721800": 0,
"1455722130": 0
}
}
用于(输入obj.dps){
if(max您可以使用,它执行单个循环,而无需事先对键进行排序
var数据={“dps”:{“1455719820”:0,“1455720150”:0,“1455720480”:0,“1455720810”:0,“1455721140”:0,“1455721470”:0,“1455721800”:0,“145572130”:42},
结果=data.dps[对象.键(data.dps).减少(函数(r,a){
返回r
您可以使用它执行单个循环,而无需事先对键排序
var数据={“dps”:{“1455719820”:0,“1455720150”:0,“1455720480”:0,“1455720810”:0,“1455721140”:0,“1455721470”:0,“1455721800”:0,“145572130”:42},
结果=data.dps[对象.键(data.dps).减少(函数(r,a){
返回r
var o={
“dps”:{
"1455719820": 0,
"1455720150": 0,
"1455720480": 0,
"1455720810": 0,
"1455721140": 0,
"1455721470": 0,
"1455721800": 0,
"1455722130": 0
}
}
var max=Math.max.apply(Math,Object.keys(o.dps));
console.log(最大值);
var o={
“dps”:{
"1455719820": 0,
"1455720150": 0,
"1455720480": 0,
"1455720810": 0,
"1455721140": 0,
"1455721470": 0,
"1455721800": 0,
"1455722130": 0
}
}
var max=Math.max.apply(Math,Object.keys(o.dps));
console.log(最大值)
你需要这三个工具--JSON.parse
来解析JSON字符串…对象。keys
来获取一个键数组…array#sort
来排序这些键…然后意识到你所有的键都有相同的值,即0
,所以你在代码上浪费了时间:p你需要这三个工具--JSON.parse
解析JSON字符串…Object.keys
获取一个键数组…array 35; sort
对这些键进行排序…然后意识到所有键都具有相同的值,即0
,因此您在代码上浪费了时间:p
var biggest=0;
var obj = {
"dps": {
"1455719820": 0,
"1455720150": 0,
"1455720480": 0,
"1455720810": 0,
"1455721140": 0,
"1455721470": 0,
"1455721800": 0,
"1455722130": 0
}
}
for(key in obj.dps){
if(biggest<key){
biggest = key;
}
}
// biggest will now have the biggest timestamp