在使用React中的map函数列出JSON的所有值方面遇到了困难。

18 浏览
0 Comments

在使用React中的map函数列出JSON的所有值方面遇到了困难。

这个问题已经有了答案:

map函数用于对象(而不是数组)

我有一个Json数据,像这样:

{
 A: {name: 'a', date: 'x'}
B: {name: 'b', date: 'x'}
C: {name: 'c', date: 'x'}
D: {name: 'd', date: 'x'}
}

我想列出所有的名字。然而,我得到一个错误:

.data.map不是一个函数

我的代码大致如下:

 {data.map((item) => {
    return(
     {item.name}
     )
 })}

任何帮助将不胜感激!谢谢

admin 更改状态以发布 2023年5月24日
0
0 Comments

试试这个

Object.values(data).map( // the rest

Object.values将返回给定对象的可枚举属性值的数组。

0
0 Comments

你手头拥有的是一个对象,而非一个数组,而 .Map() 是一个数组方法。

你可以这样尝试使用一个对象:

 {data && Object.values(data).map((propVal) => {
    return(
     {propVal}
     )
 })}

你还可以使用 Object.entries(),每一个 entry 都包含两个元素的数组。entry[0] 是键,而 entry[1] 是值。

这样,你也可以添加一个属性名检查。

 {data && Object.entries(data).map((entry) => {
            if(entry[0] === 'name') {
               return(
                 {propVal}
                 )
             })}    
} 

希望这有所帮助 🙂

0