reactjs - 从数组中获取价格并传递给贵重物品以供将来计算 React
问题描述
我从 API 获得了一个价目表数组。我想分别获取 3 个属性以供将来计算。是否可以分别获取以下值的值?
- 高级委员会
- 包厢座位 - 一楼的成人价格
- ODC的成人价格
- ODC的childPrice
以下是我的数据数组
"data": {
"ticketPrices": {
"advancedCommission": 60,
"priceList": [
{
"id": 537,
"seatType": "Box Seats - Ground Floor",
"nonReserved": 0,
"adultPrice": 800,
"adultCommission": 0,
"childPrice": 0,
"childCommission": 0,
"servicePrice": 0
},
{
"id": 536,
"seatType": "ODC",
"nonReserved": 0,
"adultPrice": 350,
"adultCommission": 0,
"childPrice": 280,
"childCommission": 0,
"servicePrice": 0
}
]
}
},
以下是我的代码
componentDidMount() {
const requestOptions = {
method: 'GET',
headers: { 'Content-Type': 'application/json', 'client_token': 'ebd86470-7e90-4ece-9e89-1b6d4d2cbb61' }
};
fetch(`http://sandbox-api.com/v1/seat/prices?venue_id=90&movie_id=3232&showtime_id=2130&movie_date=2021-08-02`, requestOptions)
.then(response => response.json())
.then((seatPrice) => {
console.log(seatPrice.data.ticketPrices.priceList)
this.setState({
seatPrice: seatPrice.data.ticketPrices.priceList,
dataLoaded: true,
})
}).catch(console.log);
}
解决方案
是的,您可以通过使用过滤器来实现这一点
const filteredODCData = seatPrice.data.ticketPrices.priceList.filter(type => type.seatType.includes("ODC"));
const adultPrice = filteredODCData[0].adultPrice;
const childPrice= filteredODCData[0].childPrice;
const filteredBoxData = seatPrice.data.ticketPrices.priceList.filter(type => type.seatType.includes("Box Seats - Ground Floor"));
const adultBoxPrice = filteredBoxData[0].adultPrice;
const advanceCommision = seatPrice.data.ticketPrices.advancedCommission;
推荐阅读
- python - 打印为python中中间字符串的长度
- reactjs - 如何模拟吐司的 onClose 方法
- kubernetes - 是否可以让 Kubernetes statefulset 中的所有 pod 都失败 ReadinessProbes 而不是一个?
- coq - 相互递归类型的自定义归纳原则
- vuejs2 - 对 2 路绑定的数组进行排序会导致 HTML 元素重新排序,从而导致错误的控制焦点
- python - Dash 回调不更新图表
- sql - SQL 在 ssms 中比在应用程序中更快
- python - 使用 Python 在 Amazon Alexa 上设置提醒?
- html - css background-image:url() 不加载图像
- javascript - 在 React 中改变 tempState 时如何避免副作用?