0

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

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具有最新日期的。我怎样才能创建一个函数来快速比较和检索这个值?

4

2 回答 2

1

没有捷径,你需要做一个for..in循环来循环属性名称,并检查每件事的date.

于 2012-05-05T13:38:43.643 回答
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

于 2012-05-05T13:48:18.840 回答