Reputation: 839
I have an array of objects with the following format. How can I map this array so that I can have an HTML article for each object, and a p tag that shows the data, origin, destination, price and availability of each object?
[
{
"data": "2020-11-15",
"origin": "COR",
"destination": "MDZ",
"price": 474.05,
"availability": 9
},
{
"data": "2020-11-15",
"origin": "COR",
"destination": "BRC",
"price": 197.68,
"availability": 2
},
{
"data": "2020-11-15",
"origin": "EPA",
"destination": "BRC",
"price": 300.3,
"availability": 1
},
{
"data": "2020-11-20",
"origin": "COR",
"destination": "MDZ",
"price": 373.19,
"availability": 6
}
]
Upvotes: 0
Views: 64
Reputation: 116
export default function App() {
const data = [{ "data": "2020-11-15", "origin": "COR", "destination": "MDZ", "price": 474.05, "availability": 9 }, { "data": "2020-11-15", "origin": "COR", "destination": "BRC", "price": 197.68, "availability": 2 }, { "data": "2020-11-15", "origin": "EPA", "destination": "BRC", "price": 300.3, "availability": 1 }, { "data": "2020-11-20", "origin": "COR", "destination": "MDZ", "price": 373.19, "availability": 6 }]
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<h2>Start editing to see some magic happen!</h2>
{data.map(item => (
<p>Data: {item.data} - Origin: {item.origin} - Destination: {item.destination} - Price: $ {item.price} - Availability: {item.availability}</p>
))}
</div>
);
}
Upvotes: 2
Reputation: 2723
Source:
export default function App() {
var objects = [
{
data: "2020-11-15",
origin: "COR",
destination: "MDZ",
price: 474.05,
availability: 9
},
{
data: "2020-11-15",
origin: "COR",
destination: "BRC",
price: 197.68,
availability: 2
},
{
data: "2020-11-15",
origin: "EPA",
destination: "BRC",
price: 300.3,
availability: 1
},
{
data: "2020-11-20",
origin: "COR",
destination: "MDZ",
price: 373.19,
availability: 6
}
];
var properties = Object.keys(objects[0]);
return objects.map((obj) => (
<article>
{properties.map((property) => (
<p>
{property}: {obj[property]}
</p>
))}
<br />
</article>
));
}
Demo: https://codesandbox.io/s/quizzical-hooks-lzyhv?file=/src/App.js:24-831
Result:
Upvotes: 1