gpt4 book ai didi

javascript - 显示列表中的最高分

转载 作者:行者123 更新时间:2023-11-29 18:38:25 26 4
gpt4 key购买 nike

我在 this.state 中有一个数组。 Array 的对象有 2 个键:[text] 和 [score]。

我只需要显示得分最高的对象的 [text] 键。例如

[{ text: 'foo', score: 1, }, { text: 'bar', score: 0.1, }]

此处最高分是 1,[text] 键值为“foo”。所以只渲染“foo”。

代码:

class Score extends React.Component {
constructor(props) {
super(props);

this.state =
{
text: [
{
title: 'el',
data: [
{
el: 'hello',
score: 1
},
{
el: 'hallo',
score: 0.10
}
]
},
]

}
}



render() {
return (
<div>
{
this.state.text.map((q, i) => (
<div key={i} className="card">

{
q.data.map((i, j) =>
(
<div key={j}>
<p>{i.el}</p>
<p>{i.score}</p>

</div>
)
)}

</div>
))
}
</div>
);
}
}



const Root = document.getElementById("root");
ReactDOM.render(<Score />, Root);

最佳答案

Array#map 将显示每个元素,而不仅仅是得分最高的元素。

在 map 内部,您应该删除一些逻辑,以找到得分最高的对象并显示它。

this.state.text.map((q, i) => {
const r = q.data.sort((a, b) => b.score - a.score)[0];
// ^^^^^^^^^^^^^^^^^^^ sort ascending and pick the first element

return (
<div key={i} className="card">
<p>{r.el}</p>
<p>{r.score}</p>
</div>
);
})

const r = [{ text: 'hello', score: 1 }, { text: 'hallo', score: 0.1 }];
const res = r.sort((a, b) => b.score - a.score)[0];

console.log(res);

关于javascript - 显示列表中的最高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59011297/

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