我有一个json,它通过api检索如下,
http://www.jsoneditoronline.org/?id=3d6078cbb11e7e5b3989320ff1cc00c1
我循环遍历结果集并创建票证对象,如下所示,
data.ticket.seating.forEach((seat: any) => {
this.listings.push({ section: seat.section, selling: data.price.selling, amount: data.ticket.amount, type: data.ticket.type, row: seat.row });
this.barChartLabels.push(data.price.selling);
this.barChartData[0].data.push() // how to push the count of tickets which has the same price.
});
在上面的代码中,如何获得具有相同价格的门票数量?如何获得所有门票的最高价格?
答案 0 :(得分:0)
您必须制作一个哈希表,其中键是您的票价,而值是该价格的票数组。例如:
var price_table = {};
entries.forEach((data: any) => {
if(!price_table.hasOwnProperty(data.ticket.price.original))
price_table[data.ticket.price.original] = [];
price_table[data.ticket.price.original].push(data);
});
运行该代码后,您必须通过price_table
的密钥并在其中找到最大值:
var max = 0;
for(var price in price_table){
if(price_table.hasOwnProperty(price)) {
if(price >= max){
max = price;
}
}
}
然后您可以使用最大值来显示价格最高的门票列表:price_table[max]
上面的示例认为您有data.ticket.price.original
的正确值(数字)。