Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/465.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在数组中打印对象_Javascript_Reactjs_Api - Fatal编程技术网

Javascript 在数组中打印对象

Javascript 在数组中打印对象,javascript,reactjs,api,Javascript,Reactjs,Api,我有一个包含json的api,如下所示: { "data": [ { "carrier" : "abc", "extra": { "date": "1970-01-01" }, } { "carrier" : "abc", "extra": {

我有一个包含json的api,如下所示:

{

    "data": [
            {
            "carrier" : "abc",
            "extra": {

                "date": "1970-01-01" 

            },
            }
            {
            "carrier" : "abc",
            "extra": {

                "date": "1970-01-01" 

            },
            }
    ]
}
那么如何在地图功能中使用
date
carrier

我正在使用reactjs

const dataObj = {
  data: [
    {
      carrier: "abc",
      extra: {
        date: "1970-01-01"
      }
    },
    {
      carrier: "abc",
      extra: {
        date: "1970-01-01"
      }
    }
  ]
};

const dateArr = dataObj.data.map(obj => {
  return {
    date : obj.extra?.date,
    carrier : obj.carrier,
  }
});
达泰尔


上面的代码是单个对象,不需要映射,
数据:[key:vaue]
无效。数组没有键值对。请检查object@prasanthEdited那么你想从地图功能中得到什么样的数据?对不起,更新了问题。但它给出了一个错误:
TypeError:无法读取未定义的属性“date”
但它给出了一个错误:
TypeError:无法读取未定义的属性“date”
我修改了代码以解决未定义extra的情况。您能解释一下原因吗。数据中的某些对象没有
extra
键。在读取
date
属性之前,我添加了&&操作符来检查
extra
键是否存在。
[
  { carrier: "abc", date: "1970-01-01" },
  { carrier: "abc", date: "1970-01-01" }
]
const obj = {
  "data": [
           {
            "carrier" : "abc",
            "extra": {
               "date": "1970-01-01" 
            },
            }
            {
            "carrier" : "abc",
            "extra": {

                "date": "1970-01-01" 

            },
            }
  ]
}

const newArray = object.data.map(ele => {
  return {
    carrier: ele.carrier,
    date: ele.extra && ele.extra.date
  };
})

// Result
[
  { carrier: "abc", date: "1970-01-01" },
  { carrier: "abc", date: "1970-01-01" }
]