如何使用 Underscore 从这种集合中获取最大和最小键?似乎是一件容易的事,但我没有找到快速的解决方案。
{
"2013-06-26":839,
"2013-06-25":50,
"2013-06-22":25,
"2013-05-14":546,
"2013-03-11":20
}
最佳答案
不幸的是,_.min 和 _.max 只支持数字,所以我们不能将它们用于您的字符串键。幸运的是,您的日期采用可按字符串排序的格式。
var minkey, maxkey;
_.each(obj, function(value, key) {
if (minkey == null || key < minkey) { minkey = key; }
});
_.each(obj, function(value, key) {
if (maxkey == null || key > maxkey) { maxkey = key; }
});
现在,如果您真的想要最大/最小值 的键,那么就是这个。幸运的是,您的值是数字,因此它会更容易一些:
var keys = _.keys(obj);
function itemgetter(key) { return obj[key]; }
minkey = _.min(keys, itemgetter);
maxkey = _.max(keys, itemgetter);
关于javascript - 使用 Underscore 从集合中获取最大和最小键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17326705/