Javascript 从具有纪元时间的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中获

我正在使用angularjs创建应用程序。我的json类似于:

{
    "dps": {
      "1455719820": 0,
      "1455720150": 0,
      "1455720480": 0,
      "1455720810": 0,
      "1455721140": 0,
      "1455721470": 0,
      "1455721800": 0,
      "1455722130": 0
    }
  }

我想从json中获取最近时间的值。我不知道如何才能做到这一点。

在我看来,最兼容、最容易阅读的方式是:

  • 使用
  • 如有必要(在您的示例中,不需要)
  • 使用pop或arr[arr.length-1]访问值(在您的示例中始终为0)
  • 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)
    在我看来,这是最兼容、最容易阅读的方式:

  • 使用
  • 如有必要(在您的示例中,不需要)
  • 使用pop或arr[arr.length-1]访问值(在您的示例中始终为0)
  • 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