假设我有一个具有该结构的对象:
{
"friends_count": {
"1420800660": 49391,
"1421149814": 49344,
"1421149955": 49344
}
}
在对象中,第一个数字(密钥)是时间戳。第二个数字是值。我想获得该对象的最新项目。所以,我需要获得最接近时间的密钥。我必须这样做吗?
抱歉,我是node.js和Javascript的初学者。
答案 0 :(得分:3)
所以,我需要获得最接近时间的密钥
不确定。只需拨打Object.keys
上的obj.friends_count
,然后sort
var key = Object.keys(obj.friends_count).sort()[0];
Object.keys
返回所提供对象的键数组,Array.sort
将按升序对其进行排序,[0]
将采用排序的第一个元素阵列。
只要Array.sort
在这里工作正常,因为它们的长度相同,一切都应该没问题。如果你想更清楚,那就是arr.sort(function(a, b){ return a - b })[0]
答案 1 :(得分:1)
如果您想从关键时间戳中获取最新信息,请将其转换为日期:
var something = {
"friends_count": {
"1420800660": 49391,
"1421149814": 49344,
"1421149955": 49344
}
},
dateCheck,
newest;
for(var key in something.friends_count){
if(!dateCheck || new Date(key*1000) > dateCheck){
dateCheck = new Date(key*1000);
newest = something.friends_count[key];
}
}
console.log(newest);
答案 2 :(得分:0)
您可以使用Object.keys(obj)
来获取最后一个项目,如下所示:
var fruitObject = { 'a' : 'apple', 'b' : 'banana', 'c' : 'carrot' };
fruitObject[Object.keys(fruitObject)[Object.keys(fruitObject).length - 1]] // "carrot"