Есть макет таблицы на странице:
<table border="1">
<thead>
<tr>
<th>Дата</th>
<th>№ заказа</th>
<th>ID покупателя</th>
<th>Общая сумма</th>
<th>Обычные продажи</th>
<th>Рекомендованные продажи</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
Есть массив объектов:
var ordersList = [
{id: 5070992, user_id: 29073781, timestamp: 1435092870, total: 1714, recommended: 0, typical: 1714 },
{id: 5070993, user_id: 33963628, timestamp: 1435092881, total: 10290, recommended: 0, typical: 10290 },
{id: 5070994, user_id: 33963648, timestamp: 1435092882, total: 2427, recommended: 0, typical: 2427 },
{id: 5070996, user_id: 33963559, timestamp: 1435092974, total: 1299, recommended: 0, typical: 1299 },
{id: 5070998, user_id: 33963814, timestamp: 1435093028, total: 2090, recommended: 0, typical: 2090 },
{id: 5071000, user_id: 33963819, timestamp: 1435093041, total: 16440, recommended: 0, typical: 16440 },
{id: 5071001, user_id: 33963837, timestamp: 1435093047, total: 5800, recommended: 0, typical: 5800 },
{id: 5071003, user_id: 33964044, timestamp: 1435093060, total: 5115, recommended: 0, typical: 5115 },
.....
]
массив большой: ordersList.length > 10 000
Необходимо вывести этот массив в имеющуюся таблицу. Проблема в том, что заголовок таблицы не соответствует порядку полей в объектах.
Мой вариант такой:
var tBody = document.getElementsByTagName("table")[0].getElementsByTagName("tbody")[0],
newTr, newTd,
i, j, N
arrayOfObj; // сюда планирую запихнуть свойства объектов в нужном порядке
for (i = 0, N = ordersList.length; i < N; i++) {
newTr = tBody.appendChild( document.createElement("tr") );
arrayOfObj = someF(ordersList[i]); // тут нужна помощь!
for (j = 1; j <= thCount; j++) {
newTd = newTr.appendChild( document.createElement("td") );
newTd.textContent = arrayOfObj[j];
}
}
Есть ли какой-то способ определить вывод полей объекта в нужном порядке, или надо самому писать функцию (в моём варианте - это функция
someF().