如何按排序键顺序获取对象中的最后一项
How to get the last item in an object by sorted key order
假设我有一个具有此结构的对象:
{
"friends_count": {
"1420800660": 49391,
"1421149814": 49344,
"1421149955": 49344
}
}
在对象中,第一个数字(键)是时间戳。第二个数字是值。我想获取该对象的最新项目。所以,我需要得到时间上最接近的密钥。我该怎么做?
所以,我需要得到时间上最近的钥匙
确定。只需拨打obj.friends_count
Object.keys
,然后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]
如果您想从密钥时间戳中获取最新信息,只需将其转换为日期:
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);
http://jsfiddle.net/w4dsk4m3/
相关文章:
- 如何从对象数组中获取最后一项
- 为什么只有最后一项显示,而不是全部显示
- 删除最后一项jquery
- 为什么我的“for”循环只获取 html 中的最后一项
- 我无法将下拉列表的默认值设置为最后一项
- 流星批量插入仅插入最后一项
- 我怎么能知道元素是最后一项
- 如何删除WinJS组绑定列表的最后一项
- 使用handlers.js模板以数组中的最后一项为条件
- empty().append()追加循环中的最后一项
- jQuery只附加最后一项
- 将属性添加到 for 循环中的最后一项
- 如何按排序键顺序获取对象中的最后一项
- for 循环中的 addEventListener 始终添加到最后一项
- 从数组中删除最后一项
- CasperJS只从我的for循环中多次发布最后一项
- 在 JavaScript 中处理数组中的最后一项
- 胡子.js带有数组,最后一项除外
- 通过jQuery在最后一项之后插入
- JavaScript for 循环只返回数组中的最后一项