Я сортирую массив, содержащий объекты. Я сортирую фамилии по алфавиту. Но когда я распечатываю, появляется только первый элемент отсортированного массива, и он заполняет массив. Значение означает array = [{name: "White, David", score: 100}, {name: "Bee, Axis", score: 101}] после сортировки по фамилии массив становится array = [{name: " Bee, Axis ", score: 101}, {name:" Bee, Axis ", score: 101}], вся информация одинакова. Не знаю, что было не так?
вот для заполнения массива:
for (let i = 0; i < 10; i++)
{
record.Customer= customerName[i];
record.MonthlyCharge = monthlyCharge[i];
record.PastDueAmount = pastDueAmount[i];
record.DaysPastDue = numDaysPastDue[i];
records.push(record);
table += `<tr>`;
table +=`<td>${record.Customer}</td>`;
table +=`<td>$${record.MonthlyCharge}</td>`;
table +=`<td>$${record.PastDueAmount}</td>`;
table +=`<td>${record.DaysPastDue}</td>`;
table +=`</tr>`;
}
tableBody.innerHTML = table;
Чтобы отсортировать массив
nameColumn.addEventListener("click", function (){
records.sort((a,b)=>a.Customer.localeCompare(b.Customer));
updateTable();
});
function updateTable()
{
let table = "";
for (let record of records)
{
table += `<tr>`;
table +=`<td>${record.Customer}</td>`;
table +=`<td>$${record.MonthlyCharge}</td>`;
table +=`<td>$${record.PastDueAmount}</td>`;
table +=`<td>${record.DaysPastDue}</td>`;
table +=`</tr>`;
}
tableBody.innerHTML = table;
}