【问题标题】:Loop array of object and insert into new array循环对象数组并插入新数组
【发布时间】:2020-01-28 23:05:56
【问题描述】:

我想创建一个新的对象数组以避免嵌套数组映射。但我收到以下错误

TypeError: Cannot read property 'subscriber_data' of undefined

我已经厌倦了:

let newdata = this.props.status
var newArr = newdata[0].subscriber_data.map(function(elem) {
    return {
        email: elem.email,
        name: elem.sub_name
    };
});
console.log (newArr)

这是我的 JSON 结构:

[
  {
    "subscriber_data": [
      {
        "sub_name": "User1",
        "email": "user1@gmail.com"
      }
    ]
  }
]

预期结果:必须使用里面的对象创建新数组

【问题讨论】:

  • 请带上tour,四处看看,通读help center,尤其是How do I ask a good question? 邮政编码、数据结构、标记等文本,而不是作为文本的图片。为什么:meta.stackoverflow.com/q/285551/157247
  • 但错误非常明确和具体:newdata[0]undefined
  • @T.J.Crowder 好的,我将编辑问题,是的,需要帮助来修复未定义的错误
  • 给定的结构显然不是newdata 所指的。如果是这样,您将不会收到您遇到的错误。
  • 显然 this.props.status 不是你认为的 JSON 结构 ...

标签: javascript arrays json reactjs ecmascript-6


【解决方案1】:

你能把 json 转换回 js 可以理解的对象吗

const newData = JSON.parse(nameOftheJSONStructureHere)

【讨论】:

  • 你的意思是这样const newData = JSON.parse(this.props.status);??
猜你喜欢
  • 1970-01-01
  • 2016-08-15
  • 2019-10-18
  • 1970-01-01
  • 2021-07-21
  • 2021-12-14
  • 2012-06-09
  • 2020-04-27
相关资源
最近更新 更多