如何在反应中正确映射对象但仅显示特定值
How to properly map through objects in react but only show a specific value
几天前,我问了一个关于 return 表单问题的问题。在没有意识到我正在尝试 map
一个对象之后,我能够使用以下代码映射该对象:
{Object.entries(stats1).map(([key, value], i) => {
return (
<Text>{key} : {value}</Text>
)
})}
// stats1 prop is set like this with the use of state
setStats1(response?.data.data.data.stats.all.solo)
但是目前它的呈现方式与我希望的不一样,就像下面的第一张图片一样,我怎么想排除键并只显示带有我自己的特定键的特定值,例如
Solo Kills Total: 5067
而不是 kills: 5067
。我这可能吗?在过去的几天里,我一直无法找到导致我想要的方式的明确答案。
任何帮助都将不胜感激!
// Json response from stats1 prop
{
"score": 52697,
"scorePerMin": 22.932,
"scorePerMatch": 16.545,
"wins": 115,
"top10": 623,
"top25": 1163,
"kills": 5067,
"killsPerMin": 2.205,
"killsPerMatch": 1.591,
"deaths": 3070,
"kd": 1.65,
"matches": 3185,
"winRate": 3.611,
"minutesPlayed": 2298,
"playersOutlived": 19072,
"lastModified": "2022-04-10T13:52:22Z"
}
创建一个映射器对象,将您的 json 键映射到 custom
键并使用该对象进行渲染
const mapper = {
kills: "Solo Kills Total"
}
{Object.entries(stats1).map(([key, value], i) => {
return (
<Text> {mapper[key] ? mapper[key] : key} : {value}</Text>
)
})}
考虑到我们正在像这样获取您想要的数据:
const obj = {
"kills": 5067,
}
通过这样的方式:
response?.data.data.data.stats.all.solo.kills //added kills
然后我们可以这样重命名 kills:
delete Object.assign(obj, {SoloKillsTotal: obj.kills})['kills'];
console.log(obj);
几天前,我问了一个关于 return 表单问题的问题。在没有意识到我正在尝试 map
一个对象之后,我能够使用以下代码映射该对象:
{Object.entries(stats1).map(([key, value], i) => {
return (
<Text>{key} : {value}</Text>
)
})}
// stats1 prop is set like this with the use of state
setStats1(response?.data.data.data.stats.all.solo)
但是目前它的呈现方式与我希望的不一样,就像下面的第一张图片一样,我怎么想排除键并只显示带有我自己的特定键的特定值,例如
Solo Kills Total: 5067
而不是 kills: 5067
。我这可能吗?在过去的几天里,我一直无法找到导致我想要的方式的明确答案。
任何帮助都将不胜感激!
// Json response from stats1 prop
{
"score": 52697,
"scorePerMin": 22.932,
"scorePerMatch": 16.545,
"wins": 115,
"top10": 623,
"top25": 1163,
"kills": 5067,
"killsPerMin": 2.205,
"killsPerMatch": 1.591,
"deaths": 3070,
"kd": 1.65,
"matches": 3185,
"winRate": 3.611,
"minutesPlayed": 2298,
"playersOutlived": 19072,
"lastModified": "2022-04-10T13:52:22Z"
}
创建一个映射器对象,将您的 json 键映射到 custom
键并使用该对象进行渲染
const mapper = {
kills: "Solo Kills Total"
}
{Object.entries(stats1).map(([key, value], i) => {
return (
<Text> {mapper[key] ? mapper[key] : key} : {value}</Text>
)
})}
考虑到我们正在像这样获取您想要的数据:
const obj = {
"kills": 5067,
}
通过这样的方式:
response?.data.data.data.stats.all.solo.kills //added kills
然后我们可以这样重命名 kills:
delete Object.assign(obj, {SoloKillsTotal: obj.kills})['kills'];
console.log(obj);