根据子值从对象中检索值?

时间:2012-05-05 13:36:45

标签: javascript object

说我有一个像这样的对象......

object = {
    thing0:{
        date: 'Sat, 05 May 2012 01:00:00 EST'
    },
    thing1:{
        date: 'Sat, 05 May 2012 12:00:00 EST'
    },
    thing2:{
        date: 'Fri, 04 May 2012 06:00:00 EST'
    }
}

我想检索具有最新日期的thing。如何创建一个快速比较和检索此值的函数?

2 个答案:

答案 0 :(得分:1)

没有快捷方式,您需要执行for..in循环来遍历属性名称,并检查每件事date

答案 1 :(得分:0)

怎么样:

obj = {
    thing0:{
        date: 'Sat, 05 May 2012 01:00:00 EST'
    },
    thing1:{
        date: 'Sat, 05 May 2012 12:00:00 EST'
    },
    thing2:{
        date: 'Fri, 04 May 2012 06:00:00 EST'
    }
}

key_with_max_date = Object.keys(obj).map(function(k) {
    return [new Date(obj[k].date), k];
}).sort().pop()[1]

文档:Object.keysArray.map