当前位置: 首页 > 知识库问答 >
问题:

在react[duplicate]中使用map列出JSON的所有值时遇到困难

逄嘉木
2023-03-14

我有一个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(
      <div>
     {item.name}
    </div> )
 })}

如有任何帮助,我们将不胜感激!谢谢

共有3个答案

洪俊能
2023-03-14

必须将对象值转换为数组。

{data && Object.values(data).map((item) => {
    return(
      <div>
     {item.name}
    </div> )
 })}
上官鸿祯
2023-03-14

这里有一个对象,而不是一个数组,。map()是一个数组方法。

你可以用这种方式对一个对象做类似的事情

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

您还可以使用object.entries(),每个条目都是一个包含两个元素的数组。项[0]是键,项[1]是值。这样你也可以添加一个检查道具名称。

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

希望有帮助:)

班言
2023-03-14

试试这个

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

Object.Values将为您提供一个给定对象自己的可枚举属性值的数组。

 类似资料:
  • 我是Python的初学者,我正试图学习如何使用数据结构,如JSON对象,但我在试图从JSON对象中实际获取数据时遇到了困难。 我可以通过已经有的代码打印文件中的数据,但是我只想打印某个值,比如的值。我如何使用我已经有的代码打印这个?

  • 我写了下面的代码,它确实反序列化和解析了一个JSON变量,但是,它不能与多个JSON变量一起工作 API检索的JSON具有如下类似的变量,但是,第一个分支有一个总是变化的数字,比如value_abc_########,其中######是一个总是不同的数字,所以我不知道这个分支得到了什么输出。 这是API调用返回的JSON结构: 虽然这是我编写的代码,但如果JSON只有1个分支结果,它可以正常工作,

  • 我对python非常陌生。 我研究了我的问题,但没有得到例外的答案。 我不明白的是,是如何被调用的,因为它没有像这样的参数,参数如何接受两个参数(苹果和香蕉)?

  • 问题内容: 这是一个例子: (等等。) 这是另一个: 取自于构建在节点上的简单记事本 这些是困扰我的问题: 到底是做什么的?如果不存在会发生什么? 为什么第二部分作为参数而第一部分不是参数? 编辑: 问题答案: Express使用具有回调的中间件函数(动作完成时调用的函数),而next具有此目的(这是触发Express堆栈中下一个中间件的回调)。所有Express中间件(与Connect兼容)具有

  • 总共有多少人住在1212 Main:2 1号人的名字是什么 2号的人叫什么名字:b 位于Roombillsplit.main.main(main.java:19) 1212 Main要拆分的账单总数是多少:

  • 根据文档,我需要重新验证用户谁试图删除他们的帐户,但没有登录一段时间。下面是文档(非常底部): 文件编制 如果执行其中一个操作,而用户登录时间太长,则操作失败并出现错误。当发生这种情况时,通过从用户获取新的登录凭据并将凭据传递给reauthenticateWithCredential来重新验证用户 请帮忙。

  • 我正在尝试使用android Studio从tess-two项目中构建两只眼睛。我为tess-two和eyes-two做了ndk-build android...ant发布的东西,导入了eyes-two,配置了NDK.dir路径等等,但是,在构建时,我得到了以下错误消息: