gpt4 book ai didi

javascript - 找到对象中的最高值键,然后将其发布到 innerHTML

转载 作者:行者123 更新时间:2023-11-29 16:50:28 24 4
gpt4 key购买 nike

我有一个对象,我正在计算测验问题的结果。

var answerData = {
"Ninja": { score: 4 },
"Robot": { score: 1 },
"Pirate": { score: 7 },
"Zombie": { score: 2 }
}

我想确定哪个属性最高,然后将结果发布到页面。

我在 stackoverflow 上发现了一篇建议使用 object.reduce() 来获得最终结果的帖子。我无法让它返回“海盗”的最高值,而是返回“僵尸”的最后一个值。

  function finalResults {
theAnswer = Object.keys(answerData).reduce(function(a, b){ return answerData[a] > answerData[b] ? a : b });

document.getElementById("finalResulthere").innerHTML = "<p>Congratulations you are a " + theAnswer +".</p>";
}

然后将其发布到

<div id="results">
<div id="finalResulthere"></div>
</div>

我的替代想法是运行链式 IF 语句来比较每个对象键的值。这似乎更整洁......

最佳答案

你的功能几乎完成了,你只是错过了一个细节,你正在比较完整的对象,但它总是失败。

function finalResults() {
var theAnswer = Object.keys(answerData).
reduce(function(a, b){
return answerData[a].score > answerData[b].score ? a : b }
);

document.getElementById("finalResulthere").innerHTML = "<p>Congratulations you are a " + theAnswer +".</p>";
}

您需要使用 score 属性的值进行比较,这就是您所缺少的

关于javascript - 找到对象中的最高值键,然后将其发布到 innerHTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36489780/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com