【问题标题】:How to print only first element from JSON Array in ReactJs?如何在 ReactJs 中仅打印 JSON 数组中的第一个元素?
【发布时间】:2020-02-19 10:26:51
【问题描述】:

我有以下 JSON 数组数据,我想从中打印 Charlie。怎么办?

[ [ {
"ID": 1,
"Name" :"David"
},{
"ID": 2,
"Name" :"Antony"
}],[{
"ID": 1,
"Name" :"Bob"
},{
"ID": 2,
"Name" :"Charlie"
} ] ]

【问题讨论】:

  • 它给出了什么错误,你是如何打印的?你能发布你的打印方式吗?
  • {PostData.map((group, index)=>{ return

    {group.Name}

    这会打印所有名称,但我只想打印第一个或第二个名称
  • 如果你正在异步读取这个数组,那么这可能是空的,所以首先检查它是否至少有一个项目,然后尝试使用 data[0] 访问
  • 我在 json 文件中有这个数组。
  • 如果你只想要第一个,那么不要映射整个数组。只取第一个元素。

标签: arrays json reactjs


【解决方案1】:

你正在使用{PostData.map((group, index)=>{ return <p>{group.Name}</p>,因为你在这里使用mapPostData[0].Name会在map()中抛出错误,因为你正在使用map()迭代数组。

由于您只需要第一项,您可以简单地使用<p>PostData[0].Name</p>

var data = [{
"ID": 1,
"Name" :"David",
},  {
"ID": 2,
"Name" :"Antony",
}];

console.log(data[0].Name)

【讨论】:

  • 这样,它打印了两次相同的名字。
  • @AnmolKhanna 你在用这样的{PostData.map((group, index)=>{ return <p>{postData[0].Name}</p> } ??
  • 是的,就是这样。
  • 这就是为什么它打印两次,不要使用.map(),使用{PostData && <p>{PostData[0].Name}</p>}
  • PostData((group, index)=>{ return

    {PostData[0].Name}

    这给出了一个错误
【解决方案2】:
var response= [{
"ID": 1,
"Name" :"David",
},  {
"ID": 2,
"Name" :"Antony",
}];

console.log(response[0].Name) 将为您提供 Array 的第一个元素并返回带有 Key 'Name' 的数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    • 2021-01-31
    • 2019-10-19
    • 1970-01-01
    • 1970-01-01
    • 2014-12-15
    相关资源
    最近更新 更多