如何获得具有相同价值的财产数量?

时间:2017-02-21 20:31:18

标签: javascript angular typescript

我有一个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.
            });

在上面的代码中,如何获得具有相同价格的门票数量?如何获得所有门票的最高价格?

1 个答案:

答案 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的正确值(数字)。