gpt4 book ai didi

javascript - 如何在 reactjs 中使对象长度中的未定义项等于 0?

转载 作者:行者123 更新时间:2023-11-30 08:31:03 24 4
gpt4 key购买 nike

我试图跟踪每篇文章的分数并显示它。但是,当对象中缺少 up 或 down 项时,我遇到了问题。

这是我所有投票的数据:

const votes = {
"1": {
"up": [
"12345",
"12346"
],
"down": [
"22456"
],
},
"2": {
"up": [
"12345",
"12346"
],
"down": [
"22456",
"25214",
"23612"
]
}
}

export default votes;

这就是我现在的处理方式,但这要求对象中必须同时存在 "up""down"

<div style={vote}>
{votes[id] ? votes[id].up.length - votes[id].down.length : 0 }
</div>

所以在这种情况下,您只有 up 元素,我希望结果只是 up 的长度。向下也是同样的情况:

"3": {
"up": [
"12345",
"22341"
]
} //this would output a score of 2

非常感谢任何帮助,谢谢!

最佳答案

最好的解决方案可能是在将对象添加到 votes 数组时始终使用空白的 updown 数组初始化对象.

如果那不可能,您将不得不在渲染过程中处理这种情况,例如像这样:

<div style={vote}>
{votes[id] ? (votes[id].up || []).length - (votes[id].down || []).length : 0 }
</div>

关于javascript - 如何在 reactjs 中使对象长度中的未定义项等于 0?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37948353/

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