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