Запуская рекламу для онлайн-магазина, вы можете столкнуться с рядом ограничений. Вот только малая часть из них:
бюджет клиента ограничен, не позволяет тестировать множество...
Как известно Python может стать отличным инструментом
для автоматизации задач, которые в противном случае пришлось
бы выполнять вручную.
Возможности Python могут сэкономить часть работы,
особенно при работе с...
Лид-формы – один из привычных форматов продвижения. С его помощью можно решать широкий спектр задач: от быстрого сбора контактов клиентов до роста продаж. В...
Конкурентность запросов – это то, что показывает SEO-специалисту, по каким фразам легче всего продвигаться в поисковой выдаче. Ведь можно тратить время и деньги, пытаясь...
Для любого бренда репутация в онлайн-пространстве является важным фактором в продажах, привлекающим и удерживающим лояльных клиентов.
Почему так происходит?
Как раньше, так и сейчас...
Доброго времени суток! Сегодня мы рассмотрим с Вами как можно конвертировать список в HTML таблицу в JavaScript.
Код:
/**
* list - список или массив объектов строк
* columns - колонки, которые должны попасть в экспортируемую таблицу
*/
function list2Html(list, columns)
{
if(0 === list.length)
throw new Error("Нечего экспортировать!");
// функция, которая создает html-код из данных
const html = (headers, rows) => {
const th = headers.map(el => `<th>${el}</th> `).join('');
const trows = rows.map(row => row.map(col => `<td>${col}</td>`).join(''));
return `
<table border="1" style="text-align: center">
<thead>
<tr>${th}</tr>
</thead>
<tbody>
${trows.map(trow => `<tr>${trow}</tr>`).join('')}
</tbody>
</table>
`;
}
const rows =
/**
* Так как, список у нас состоит из объектов, у которых есть определенные свойства
*
*/
for (const item of list)
{
// мы создаем новый объект, которому добавляем свойства из параметра columns
// чтобы у всех строк было похожее количество столбцов, даже если столбцы пустые
const obj = columns.reduce((result, item) => {
result = "";
return result;
}, {});
// проходимся по каждому свойству объекта, и смотрим есть ли у него такое же свойство
// как и в списке columns, если нет, то значит этот столбец в экспортируемой таблице не нужен
for (const column in item)
{
if(columns.includes(column))
{
obj = item;
}
}
// оставляем только значения из объекта
rows.push(Object.values(obj));
}
// формируем и возвращаем html
return html(columns, rows);
}
При нажатии на кнопу экспорта - создаем таблицу...
Паша Молянов руководит агентством «Сделаем», в котором делают контент для бизнеса и стартапов, в том числе проектируют лендинги. Паша рассказал о том, что писать...
Об искусственном интеллекте сегодня шумят из каждого утюга: его активно используют в производстве, науке, бизнесе и диджитал-маркетинге. Мы в «Четвёртом Риме» тоже внедрили нейросети...