Есть ли способ объединить элементы в json объекте билетов на основе идентификатора шоу? - PullRequest
0 голосов
/ 30 апреля 2020

Извинения, если на этот вопрос уже был дан ответ, но есть ли способ объединить элементы в json объект / массив

У меня есть следующие данные, 2 элемента для события aame, 2 места рядом друг другу, а 1 - для другого события рандо.

{
"data": {
    "tickets": [{
        "band": {
            "id": "205ADTHSNNCVVSQVHKBHQHBDBGMCCLRNB"
        },
        "event": {
            "id": "126837ASKDNQPPMTPQSDRVCDKHNDQLBHQ"
        },
        "instance": {
            "id": "205440ATDDNLKMHCLKVCDKCJMVPBMPKSM"
        },
        "planId": "846ACKJJRHLDHVGHPVVBRTQHJQBDNJKTR",
        "seat": {
            "id": "71657"
        },
        "seatName": "D4",
        "planName": "Gallery",
        "type": {
            "id": "6AQNSNRKSQRBNMRNLPTHHKVKCDTVSMTPV"
        },
        "ticketType": {
            "id": "6AQNSNRKSQRBNMRNLPTHHKVKCDTVSMTPV"
        },
        "ticketType_Comment": "Will be removed in a future API release - Use 'Type' instead",
        "delivered": false,
        "barcode": null,
        "offer": null,
        "discount": 0,
        "price": 10.5,
        "total": 10.5,
        "id": "3807623AMVPQPLCKGBRVQQMSDDRPPPGRL"
    }, {
        "band": {
            "id": "205ADTHSNNCVVSQVHKBHQHBDBGMCCLRNB"
        },
        "event": {
            "id": "126837ASKDNQPPMTPQSDRVCDKHNDQLBHQ"
        },
        "instance": {
            "id": "205440ATDDNLKMHCLKVCDKCJMVPBMPKSM"
        },
        "planId": "846ACKJJRHLDHVGHPVVBRTQHJQBDNJKTR",
        "seat": {
            "id": "71658"
        },
        "seatName": "D5",
        "planName": "Gallery",
        "type": {
            "id": "6AQNSNRKSQRBNMRNLPTHHKVKCDTVSMTPV"
        },
        "ticketType": {
            "id": "6AQNSNRKSQRBNMRNLPTHHKVKCDTVSMTPV"
        },
        "ticketType_Comment": "Will be removed in a future API release - Use 'Type' instead",
        "delivered": false,
        "barcode": null,
        "offer": null,
        "discount": 0,
        "price": 10.5,
        "total": 10.5,
        "id": "3807624AVLCMTGNLTHNTTLHGTJTLMHTCG"
    }, {
        "band": {
            "id": "205ADTHSNNCVVSQVHKBHQHBDBGMCCLRNBC"
        },
        "event": {
            "id": "126837ASKDNQPPMTPQSDRVCDKHNDQLBHQC"
        },
        "instance": {
            "id": "205440ATDDNLKMHCLKVCDKCJMVPBMPKSMC"
        },
        "planId": "846ACKJJRHLDHVGHPVVBRTQHJQBDNJKTRC",
        "seat": {
            "id": "71658"
        },
        "seatName": "A2",
        "planName": "PITS",
        "type": {
            "id": "6AQNSNRKSQRBNMRNLPTHHKVKCDTVSMTPVC"
        },
        "ticketType": {
            "id": "6AQNSNRKSQRBNMRNLPTHHKVKCDTVSMTPVC"
        },
        "ticketType_Comment": "Will be removed in a future API release - Use 'Type' instead",
        "delivered": false,
        "barcode": null,
        "offer": null,
        "discount": 0,
        "price": 10.5,
        "total": 10.5,
        "id": "3807624AVLCMTGNLTHNTTLHGTJTLMHTCGC"
    }],
}

}

Когда я запускаю их через $ .each, я могу ddd передать их в дом, чтобы показать, что они есть, но это отдельные позиции - мне нужно отобразить 2 элемента с тем же идентификатором, что и 1 элемент с 2 местами и общей ценой.

, но я не знаю, как это сделать.

мой код

var tickets =  basketContentsObject.data.tickets;
$.each(tickets, function(i, ti) {
    itemList.push('<div class="-basket-item"><div class="-remove"><a href="#" class="-remove-from-basket" aria-label="Remove this item" data-product_id="139"><svg xmlns="http://www.w3.org/2000/svg" height="487.595" viewBox="0 0 365.696 365.696" width="487.595"><path d="M243.188 182.86L356.32 69.727c12.5-12.5 12.5-32.766 0-45.246L341.238 9.398c-12.504-12.504-32.77-12.504-45.25 0l-113.13 113.13L69.727 9.375c-12.5-12.5-32.766-12.5-45.246 0L9.375 24.457c-12.5 12.504-12.5 32.77 0 45.25L122.527 182.86 9.398 295.988c-12.504 12.504-12.504 32.77 0 45.25L24.48 356.32c12.5 12.5 32.766 12.5 45.246 0L182.86 243.188l113.13 113.133c12.504 12.5 32.77 12.5 45.25 0l15.082-15.082c12.5-12.504 12.5-32.77 0-45.25zm0 0"/></svg></a></div><div class="-item-info"><div class="-title"><span>Product title</span></div><div class="amount"><span class="-price-symbol">£'+ti.total+'</span></div><a href="#" class="view-additional-details"><svg xmlns="http://www.w3.org/2000/svg" height="512" viewBox="0 0 524.235 524.235" width="512"><path d="M262.118 0C117.588 0 0 117.588 0 262.118s117.588 262.118 262.118 262.118 262.118-117.588 262.118-262.118S406.647 0 262.118 0zm17.05 417.64c-12.453 2.076-37.232 7.26-49.815 8.303-10.65.882-20.702-5.215-26.83-13.967-6.143-8.75-7.615-19.95-3.968-29.997l49.547-136.242h-51.515c-.044-28.39 21.25-49.263 48.485-57.274 12.997-3.824 37.212-9.057 49.81-8.255 7.547.48 20.702 5.215 26.83 13.967 6.143 8.75 7.615 19.95 3.968 29.997l-49.547 136.242h51.5c.01 28.356-20.5 52.564-48.463 57.226zm15.714-253.815c-18.096 0-32.765-14.67-32.765-32.765s14.67-32.765 32.765-32.765 32.765 14.67 32.765 32.765-14.668 32.765-32.765 32.765z"/></svg></a><div class="additional-details"><dl><dt>Seat:</dt><dd>'+ti.seatName+'('+ti.planName+')</dd></div></div></div>');
    console.log(ti);
});

Любая помощь будет потрясающей - tia

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...