Вывод массива на страницу
Есть у меня массив ниже. Можно ли из него сделать таблицу, чтобы вывести его на страницу, через document.write? К примеру, заголовок cars. в первой колонке, название авто(bmv, reno, audi), во второй(model), третьей(year), а в четвертой что останется. И покрасить колонки в разные цвета.
var cars = {
"bmv": {
model: "X5",
year: 2002,
km: 10000
},
"reno": {
model: "Logan",
year: 2010,
color: "red"
},
"audi": {
model: "A8",
year: 2009,
}
};
Ответы (1 шт):
Автор решения: Vadim
→ Ссылка
Про строку после summ+= тута
Приклажываю код, в нём по тз - summ2, и раздельно
const cars = {
'bmv': {
model: 'X5',
year: 2002,
km: 10000
},
'reno': {
model: 'Logan',
year: 2010,
color: 'red'
},
'audi': {
model: 'A8',
year: 2009,
}
};
let summ = '<tr><td>name</td><td>model</td><td>year</td><td>left</td></tr>';
for(let car in cars){
summ += `<tr>
<td style="background:lightgrey;">${car}</td>
<td>${cars[car].model}</td>
<td>${cars[car].year ? cars[car].year : ''}</td>
<td>${cars[car].color ? cars[car].color : (cars[car].km ? cars[car].km : '')}</td>
</tr>`;
}
let summ2 = '<tr><td>name</td><td>model</td><td>year</td><td>color</td><td>mileage</td></tr>';
for(let car in cars){
summ2 += `<tr>
<td>${car}</td>
<td class="model">${cars[car].model}</td>
<td>${cars[car].year ? cars[car].year : ''}</td>
<td>${cars[car].color ? cars[car].color : ''}</td>
<td>${cars[car].km ? cars[car].km : ''}</td>
</tr>`;
}
console.log(summ, summ2);
$('.table').html(summ);
$('.table2').html(summ2);
.model{background:darkgrey;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table class="table" border></table>
<table class="table2" border></table>