0

我正在尝试遍历关键基础对象并尝试访问每个数字键内的值,

如何循环访问关键基础对象?

任何人都可以帮助我吗?

"links": {
        "1": {
            "name": "website",
            "link": "www.google.com"
        },
        "2": {
            "name": "facebook",
            "link": "www.facebook.com/"
        },
        "3": {
            "name": "instagram",
            "link": "www.instagram.com/"
        },
        "4": {
            "name": "twitter",
            "link": "www.twitter.com"
        },
        "5": {
            "name": "linkedin",
            "link": "www.linkedin.com"
        }
    },
{data.links[].name.map((item) => (
    <div>{item.name}</div>
))}

提前致谢

4

2 回答 2

1

试试这个

{Object.values(data.links).map((item) => (
    <div>{item.name}</div>
))}

解释:Object.values(data.links)将返回一个Array带有每个值的值key,如下所示:

[
  { name: 'website', link: 'www.google.com' },
  { name: 'facebook', link: 'www.facebook.com/' },
  { name: 'instagram', link: 'www.instagram.com/' },
  { name: 'twitter', link: 'www.twitter.com' },
  { name: 'linkedin', link: 'www.linkedin.com' }
]

而且,您将能够Array使用.map并访问name每个对象的属性对其进行迭代。

于 2020-07-10T20:00:27.027 回答
0

您可以使用Object.keys()函数来获取键数组并使用该键并访问数据:

Object.keys(data.links).map(key => (
    <div>{data.links[key]}</div>
));

如果您需要其他的实际密钥,此解决方案是可以的。如果您不需要密钥,您可以Object.values(data.link)直接使用和循环低谷值。

于 2020-07-10T20:08:19.277 回答