Я пытаюсь создать сгруппированный экран, в котором объекты массива имеют общие годы.
лет выданы билеты категории ускорения ... ...
Я пытался создатьвложенный цикл for внутри цикла for с оператором if для захвата объектов в массиве с тем же годом
$.ajax('/api/ExpiationsWebAPI', {
timeout: 2000
})
.then(function (data) {
console.log(data)
var tableEl = $('<table class="table">')
var headerTitle = $('<tr>')
var headerEl = $('<tr>')
$('<th colspan="2" class="title">').text('Speeding Category by Year').appendTo(headerTitle)
headerTitle.appendTo(tableEl)
$('<th class="speedingTitle">').text('Speeding Category').appendTo(headerEl)
$('<th class ="ticketsTitle">').text('Tickets Issued').appendTo(headerEl)
headerEl.appendTo(tableEl)
var headerYear = $('<tr>')
for (var item of data) {
if ($('<tr>').text(item.year) != this.headerYear) {
headerYear.appendTo(tableEl)
}
$('<tr>').text(item.year).appendTo(headerYear)
for (var i = 0; i = data.length; i++) {
var dataRow = $('<tr>').attr('data-id', item.id)
var object = data[i]
if ($('<td>').text(item.year) === headerYear) {
//console.log(headerYear)
//console.log($('<td>').text(item.year))
$('<td class="speeding">').text("Speeding by " + item.expiationCategory).appendTo(dataRow)
$('<td class="tickets">').text(item.ticketCount).appendTo(dataRow)
dataRow.appendTo(tableEl)
}
dataRow.on('click', function () {
alert($(this).attr('data-id'))
})
}
}
tableEl.appendTo('#table')
}, function (e) {
console.log(e)
})
</script>
Не получается получить правильный вывод
Выходные данные должны быть: Строка - Год, строка данных, строка данных ... Строка - Год, строка данных, строка данных ...
Вместо этого я получаю: Строка - Год, строка данных, Строка- Год, строка данных, Линия - Год, строка данных,