Javascript 查找对象属性中的最大数目

Javascript 查找对象属性中的最大数目,javascript,max,Javascript,Max,我有一个简单的JS对象文本,它获得了一个属性。我无法理解查看属性、从属性中选择最高值然后仅显示该键的数学或方法 var president = {"FDR":1,"Lincoln":2,"Buchanan":43,"Hoover":34}; president.Obama = 3; var x; var txt = ""; for (x in president) { txt += president[x] + " "; } console.log(president); 我见过几

我有一个简单的JS对象文本,它获得了一个属性。我无法理解查看属性、从属性中选择最高值然后仅显示该键的数学或方法

var president = {"FDR":1,"Lincoln":2,"Buchanan":43,"Hoover":34};
    president.Obama = 3;
var x;
var txt = "";
for (x in president) {
  txt += president[x] + " ";
}
console.log(president);
我见过几种尝试获取max number的方法,在本例中是43,但返回“Buchanan”,但在我使用的控制台中,它们都不起作用
\u0.max
给了我“\u0未定义”。我尝试了
Math.max.apply
方法中的函数调用,它给出了我的初始列表作为答案,但没有将第五任总统放在该列表中

如果有人能给我一些老派的硬编码,让我在使用
for in
循环的同时,接受对象属性,包括我添加的新属性,我将不胜感激。我找不到一个好办法来解决这个问题。

尝试以下方法:

var总统={“罗斯福”:1,“林肯”:2,“布坎南”:43,“胡佛”:34};
奥巴马总统=3;
max=-1//初始值;
pres=“”//首任主席
主席(x){
if(president[x]>max){//如果该值大于max
pres=x;//设置新总统
max=president[x];//设置新的max
}
}

控制台日志(pres)只需在循环的每一轮中检查数字。如果比上一个大,则存储当前一个,包括总统的姓名->完成。
\uuu
是lodash(或下划线),一个库。你安装了图书馆吗?否则,您将无法使用它。要选择最高值,需要从一个值开始,每次找到一个大于该值的值时,将max值设置为新的max值——我在代码中看不到任何接近该值的内容。迭代一个对象的属性——这很容易在网上搜索。
Math.max.call(null,object.values(president))
(对不起,不使用
for..in
循环)。你从哪里得到你发布的代码片段,是什么让你认为这实际上是一种解决问题的方法?这段代码正在做一些完全不同的事情,一种有效的方法是按照它们的值对映射中的条目进行排序,然后访问结果列表中的最后一个元素。希望您也能参加OP的考试。给他们指出正确的方向不是比做家庭作业更好吗?我现在在上课,不能发表论文。如果OP对代码的任何部分感到困惑,他/她可以发表评论,我会做出适当的回应。我不知道发布一个答案值得一个尖刻的评论…发布一个答案并不值得。为他人工作是否是最好的方法值得你去问——把这个问题解释为“刺耳”是你的责任。(我要记录在案的是,在我看来,赞成票/反对票应该表明正确性/适合性,而不是就答案是否是“好主意”发表意见。))DaveNewton我并不是明确要求得到一个完整的答案,而是一些思考如何做到这一点的线索。我可以使用它并从中学习。