从 2 个数据集中填充 table。在同一td中添加数据数据
Populate table from 2 data sets. Add data data in same td
我正在尝试从 2 个数据集中填充 table。
我可以从一个数据集中成功填充它。我不想附加第二个数据集 (data2) 中的数据。我想在来自 data1
的数据下方的相同 td
中添加数据。我在每个 td 中创建了 2 divs。第一个 div 应该包含来自 data1 的数据。如何将数据从 data2 添加到第二个 div?
这就是我填充 table 以及第一个 div:
的方式
let data1 = [
{date:'2018-01-01', device: 'iphone', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'iphone', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'iphone', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-01', device: 'ipad', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'ipad', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'ipad', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-02', device: 'iphone', site: 'google', val1:11, val2:22, val3:33},
{date:'2018-01-02', device: 'iphone', site: 'bing', val1:25, val2:27, val3:28},
{date:'2018-01-02', device: 'iphone', site: 'jeeves', val1:67, val2:80, val3:15},
{date:'2018-01-02', device: 'ipad', site: 'google', val1:12, val2:21, val3:31},
{date:'2018-01-02', device: 'ipad', site: 'bing', val1:26, val2:16, val3:11},
{date:'2018-01-02', device: 'ipad', site: 'jeeves', val1:65, val2:79, val3:55},
{date:'2018-01-03', device: 'iphone', site: 'google', val1:17, val2:19, val3:11},
{date:'2018-01-03', device: 'iphone', site: 'bing', val1:13, val2:15, val3:12},
{date:'2018-01-03', device: 'iphone', site: 'jeeves', val1:69, val2:79, val3:15},
{date:'2018-01-03', device: 'ipad', site: 'google', val1:17, val2:51, val3:31},
{date:'2018-01-03', device: 'ipad', site: 'bing', val1:25, val2:15, val3:17},
{date:'2018-01-03', device: 'ipad', site: 'jeeves', val1:61, val2:71, val3:15}
];
let data2 = [
{date:'2017-01-01', device: 'iphone', site: 'google', val1:30, val2:10, val3:20},
{date:'2017-01-01', device: 'iphone', site: 'bing', val1:23, val2:22, val3:17},
{date:'2017-01-01', device: 'iphone', site: 'jeeves', val1:97, val2:88, val3:15},
{date:'2017-01-01', device: 'ipad', site: 'google', val1:80, val2:30, val3:39},
{date:'2017-01-01', device: 'ipad', site: 'bing', val1:26, val2:22, val3:17},
{date:'2017-01-01', device: 'ipad', site: 'jeeves', val1:57, val2:88, val3:15},
{date:'2017-01-02', device: 'iphone', site: 'google', val1:41, val2:32, val3:35},
{date:'2017-01-02', device: 'iphone', site: 'bing', val1:26, val2:37, val3:29},
{date:'2017-01-02', device: 'iphone', site: 'jeeves', val1:47, val2:90, val3:17},
{date:'2017-01-02', device: 'ipad', site: 'google', val1:22, val2:31, val3:33},
{date:'2017-01-02', device: 'ipad', site: 'bing', val1:25, val2:26, val3:13},
{date:'2017-01-02', device: 'ipad', site: 'jeeves', val1:75, val2:89, val3:57},
{date:'2017-01-03', device: 'iphone', site: 'google', val1:27, val2:99, val3:13},
{date:'2017-01-03', device: 'iphone', site: 'bing', val1:53, val2:45, val3:15},
{date:'2017-01-03', device: 'iphone', site: 'jeeves', val1:39, val2:99, val3:17},
{date:'2017-01-03', device: 'ipad', site: 'google', val1:16, val2:31, val3:33},
{date:'2017-01-03', device: 'ipad', site: 'bing', val1:29, val2:25, val3:19},
{date:'2017-01-03', device: 'ipad', site: 'jeeves', val1:71, val2:91, val3:17}
];
Object.keys(data1[0]).forEach(heads => $(`#my_ths`).append(`<th>${heads}</th>`));
let ths = Object.keys(data1[0]);
data1.forEach(d => {
$(`#my_tds`).append(`<tr></tr>`);
ths.forEach(th => {
$(`#my_tds > tr:last`).append(`
<td>
<div class='one'>${d[th]}</div>
<div class='two'></div>
</td>
`);
});
});
table, td, th { border: 1px solid black; }
#mytable {
width: 100%;
border-collapse: collapse;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id='mytable'>
<thead><tr id='my_ths'></tr></thead>
<tbody id='my_tds'></tbody>
</table>
如您所见,我能够填充 div.one
。如何使用 data2 中的数据填充 div.two
?
您可以使用 forEach
的第二个参数来索引 data2
数组,并使用以下方法获取 data1
数组的对应值:
data2[idx][th]
let data1 = [
{date:'2018-01-01', device: 'iphone', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'iphone', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'iphone', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-01', device: 'ipad', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'ipad', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'ipad', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-02', device: 'iphone', site: 'google', val1:11, val2:22, val3:33},
{date:'2018-01-02', device: 'iphone', site: 'bing', val1:25, val2:27, val3:28},
{date:'2018-01-02', device: 'iphone', site: 'jeeves', val1:67, val2:80, val3:15},
{date:'2018-01-02', device: 'ipad', site: 'google', val1:12, val2:21, val3:31},
{date:'2018-01-02', device: 'ipad', site: 'bing', val1:26, val2:16, val3:11},
{date:'2018-01-02', device: 'ipad', site: 'jeeves', val1:65, val2:79, val3:55},
{date:'2018-01-03', device: 'iphone', site: 'google', val1:17, val2:19, val3:11},
{date:'2018-01-03', device: 'iphone', site: 'bing', val1:13, val2:15, val3:12},
{date:'2018-01-03', device: 'iphone', site: 'jeeves', val1:69, val2:79, val3:15},
{date:'2018-01-03', device: 'ipad', site: 'google', val1:17, val2:51, val3:31},
{date:'2018-01-03', device: 'ipad', site: 'bing', val1:25, val2:15, val3:17},
{date:'2018-01-03', device: 'ipad', site: 'jeeves', val1:61, val2:71, val3:15}
];
let data2 = [
{date:'2017-01-01', device: 'iphone', site: 'google', val1:30, val2:10, val3:20},
{date:'2017-01-01', device: 'iphone', site: 'bing', val1:23, val2:22, val3:17},
{date:'2017-01-01', device: 'iphone', site: 'jeeves', val1:97, val2:88, val3:15},
{date:'2017-01-01', device: 'ipad', site: 'google', val1:80, val2:30, val3:39},
{date:'2017-01-01', device: 'ipad', site: 'bing', val1:26, val2:22, val3:17},
{date:'2017-01-01', device: 'ipad', site: 'jeeves', val1:57, val2:88, val3:15},
{date:'2017-01-02', device: 'iphone', site: 'google', val1:41, val2:32, val3:35},
{date:'2017-01-02', device: 'iphone', site: 'bing', val1:26, val2:37, val3:29},
{date:'2017-01-02', device: 'iphone', site: 'jeeves', val1:47, val2:90, val3:17},
{date:'2017-01-02', device: 'ipad', site: 'google', val1:22, val2:31, val3:33},
{date:'2017-01-02', device: 'ipad', site: 'bing', val1:25, val2:26, val3:13},
{date:'2017-01-02', device: 'ipad', site: 'jeeves', val1:75, val2:89, val3:57},
{date:'2017-01-03', device: 'iphone', site: 'google', val1:27, val2:99, val3:13},
{date:'2017-01-03', device: 'iphone', site: 'bing', val1:53, val2:45, val3:15},
{date:'2017-01-03', device: 'iphone', site: 'jeeves', val1:39, val2:99, val3:17},
{date:'2017-01-03', device: 'ipad', site: 'google', val1:16, val2:31, val3:33},
{date:'2017-01-03', device: 'ipad', site: 'bing', val1:29, val2:25, val3:19},
{date:'2017-01-03', device: 'ipad', site: 'jeeves', val1:71, val2:91, val3:17}
];
Object.keys(data1[0]).forEach(heads => $(`#my_ths`).append(`<th>${heads}</th>`));
let ths = Object.keys(data1[0]);
data1.forEach((d, idx) => {
$(`#my_tds`).append(`<tr></tr>`);
ths.forEach(th => {
$(`#my_tds > tr:last`).append(`
<td>
<div class='one'>${d[th]}</div>
<div class='two'>${data2[idx][th]}</div>
</td>
`);
});
});
table, td, th { border: 1px solid black; }
#mytable {
width: 100%;
border-collapse: collapse;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id='mytable'>
<thead><tr id='my_ths'></tr></thead>
<tbody id='my_tds'></tbody>
</table>
我正在尝试从 2 个数据集中填充 table。
我可以从一个数据集中成功填充它。我不想附加第二个数据集 (data2) 中的数据。我想在来自 data1
的数据下方的相同 td
中添加数据。我在每个 td 中创建了 2 divs。第一个 div 应该包含来自 data1 的数据。如何将数据从 data2 添加到第二个 div?
这就是我填充 table 以及第一个 div:
的方式let data1 = [
{date:'2018-01-01', device: 'iphone', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'iphone', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'iphone', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-01', device: 'ipad', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'ipad', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'ipad', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-02', device: 'iphone', site: 'google', val1:11, val2:22, val3:33},
{date:'2018-01-02', device: 'iphone', site: 'bing', val1:25, val2:27, val3:28},
{date:'2018-01-02', device: 'iphone', site: 'jeeves', val1:67, val2:80, val3:15},
{date:'2018-01-02', device: 'ipad', site: 'google', val1:12, val2:21, val3:31},
{date:'2018-01-02', device: 'ipad', site: 'bing', val1:26, val2:16, val3:11},
{date:'2018-01-02', device: 'ipad', site: 'jeeves', val1:65, val2:79, val3:55},
{date:'2018-01-03', device: 'iphone', site: 'google', val1:17, val2:19, val3:11},
{date:'2018-01-03', device: 'iphone', site: 'bing', val1:13, val2:15, val3:12},
{date:'2018-01-03', device: 'iphone', site: 'jeeves', val1:69, val2:79, val3:15},
{date:'2018-01-03', device: 'ipad', site: 'google', val1:17, val2:51, val3:31},
{date:'2018-01-03', device: 'ipad', site: 'bing', val1:25, val2:15, val3:17},
{date:'2018-01-03', device: 'ipad', site: 'jeeves', val1:61, val2:71, val3:15}
];
let data2 = [
{date:'2017-01-01', device: 'iphone', site: 'google', val1:30, val2:10, val3:20},
{date:'2017-01-01', device: 'iphone', site: 'bing', val1:23, val2:22, val3:17},
{date:'2017-01-01', device: 'iphone', site: 'jeeves', val1:97, val2:88, val3:15},
{date:'2017-01-01', device: 'ipad', site: 'google', val1:80, val2:30, val3:39},
{date:'2017-01-01', device: 'ipad', site: 'bing', val1:26, val2:22, val3:17},
{date:'2017-01-01', device: 'ipad', site: 'jeeves', val1:57, val2:88, val3:15},
{date:'2017-01-02', device: 'iphone', site: 'google', val1:41, val2:32, val3:35},
{date:'2017-01-02', device: 'iphone', site: 'bing', val1:26, val2:37, val3:29},
{date:'2017-01-02', device: 'iphone', site: 'jeeves', val1:47, val2:90, val3:17},
{date:'2017-01-02', device: 'ipad', site: 'google', val1:22, val2:31, val3:33},
{date:'2017-01-02', device: 'ipad', site: 'bing', val1:25, val2:26, val3:13},
{date:'2017-01-02', device: 'ipad', site: 'jeeves', val1:75, val2:89, val3:57},
{date:'2017-01-03', device: 'iphone', site: 'google', val1:27, val2:99, val3:13},
{date:'2017-01-03', device: 'iphone', site: 'bing', val1:53, val2:45, val3:15},
{date:'2017-01-03', device: 'iphone', site: 'jeeves', val1:39, val2:99, val3:17},
{date:'2017-01-03', device: 'ipad', site: 'google', val1:16, val2:31, val3:33},
{date:'2017-01-03', device: 'ipad', site: 'bing', val1:29, val2:25, val3:19},
{date:'2017-01-03', device: 'ipad', site: 'jeeves', val1:71, val2:91, val3:17}
];
Object.keys(data1[0]).forEach(heads => $(`#my_ths`).append(`<th>${heads}</th>`));
let ths = Object.keys(data1[0]);
data1.forEach(d => {
$(`#my_tds`).append(`<tr></tr>`);
ths.forEach(th => {
$(`#my_tds > tr:last`).append(`
<td>
<div class='one'>${d[th]}</div>
<div class='two'></div>
</td>
`);
});
});
table, td, th { border: 1px solid black; }
#mytable {
width: 100%;
border-collapse: collapse;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id='mytable'>
<thead><tr id='my_ths'></tr></thead>
<tbody id='my_tds'></tbody>
</table>
如您所见,我能够填充 div.one
。如何使用 data2 中的数据填充 div.two
?
您可以使用 forEach
的第二个参数来索引 data2
数组,并使用以下方法获取 data1
数组的对应值:
data2[idx][th]
let data1 = [
{date:'2018-01-01', device: 'iphone', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'iphone', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'iphone', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-01', device: 'ipad', site: 'google', val1:10, val2:20, val3:30},
{date:'2018-01-01', device: 'ipad', site: 'bing', val1:23, val2:12, val3:14},
{date:'2018-01-01', device: 'ipad', site: 'jeeves', val1:67, val2:78, val3:12},
{date:'2018-01-02', device: 'iphone', site: 'google', val1:11, val2:22, val3:33},
{date:'2018-01-02', device: 'iphone', site: 'bing', val1:25, val2:27, val3:28},
{date:'2018-01-02', device: 'iphone', site: 'jeeves', val1:67, val2:80, val3:15},
{date:'2018-01-02', device: 'ipad', site: 'google', val1:12, val2:21, val3:31},
{date:'2018-01-02', device: 'ipad', site: 'bing', val1:26, val2:16, val3:11},
{date:'2018-01-02', device: 'ipad', site: 'jeeves', val1:65, val2:79, val3:55},
{date:'2018-01-03', device: 'iphone', site: 'google', val1:17, val2:19, val3:11},
{date:'2018-01-03', device: 'iphone', site: 'bing', val1:13, val2:15, val3:12},
{date:'2018-01-03', device: 'iphone', site: 'jeeves', val1:69, val2:79, val3:15},
{date:'2018-01-03', device: 'ipad', site: 'google', val1:17, val2:51, val3:31},
{date:'2018-01-03', device: 'ipad', site: 'bing', val1:25, val2:15, val3:17},
{date:'2018-01-03', device: 'ipad', site: 'jeeves', val1:61, val2:71, val3:15}
];
let data2 = [
{date:'2017-01-01', device: 'iphone', site: 'google', val1:30, val2:10, val3:20},
{date:'2017-01-01', device: 'iphone', site: 'bing', val1:23, val2:22, val3:17},
{date:'2017-01-01', device: 'iphone', site: 'jeeves', val1:97, val2:88, val3:15},
{date:'2017-01-01', device: 'ipad', site: 'google', val1:80, val2:30, val3:39},
{date:'2017-01-01', device: 'ipad', site: 'bing', val1:26, val2:22, val3:17},
{date:'2017-01-01', device: 'ipad', site: 'jeeves', val1:57, val2:88, val3:15},
{date:'2017-01-02', device: 'iphone', site: 'google', val1:41, val2:32, val3:35},
{date:'2017-01-02', device: 'iphone', site: 'bing', val1:26, val2:37, val3:29},
{date:'2017-01-02', device: 'iphone', site: 'jeeves', val1:47, val2:90, val3:17},
{date:'2017-01-02', device: 'ipad', site: 'google', val1:22, val2:31, val3:33},
{date:'2017-01-02', device: 'ipad', site: 'bing', val1:25, val2:26, val3:13},
{date:'2017-01-02', device: 'ipad', site: 'jeeves', val1:75, val2:89, val3:57},
{date:'2017-01-03', device: 'iphone', site: 'google', val1:27, val2:99, val3:13},
{date:'2017-01-03', device: 'iphone', site: 'bing', val1:53, val2:45, val3:15},
{date:'2017-01-03', device: 'iphone', site: 'jeeves', val1:39, val2:99, val3:17},
{date:'2017-01-03', device: 'ipad', site: 'google', val1:16, val2:31, val3:33},
{date:'2017-01-03', device: 'ipad', site: 'bing', val1:29, val2:25, val3:19},
{date:'2017-01-03', device: 'ipad', site: 'jeeves', val1:71, val2:91, val3:17}
];
Object.keys(data1[0]).forEach(heads => $(`#my_ths`).append(`<th>${heads}</th>`));
let ths = Object.keys(data1[0]);
data1.forEach((d, idx) => {
$(`#my_tds`).append(`<tr></tr>`);
ths.forEach(th => {
$(`#my_tds > tr:last`).append(`
<td>
<div class='one'>${d[th]}</div>
<div class='two'>${data2[idx][th]}</div>
</td>
`);
});
});
table, td, th { border: 1px solid black; }
#mytable {
width: 100%;
border-collapse: collapse;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id='mytable'>
<thead><tr id='my_ths'></tr></thead>
<tbody id='my_tds'></tbody>
</table>