我有一个ajax调用,如下所示:
$.ajax({
type: 'POST',
url: 'assets/ajax/get-results.php',
dataType: 'json',
cache: false,
data: {},
success: function (data) {
console.log(data);
for(var i = 0; i < data.length; i++) {
var obj = data[i];
console.log(obj);
}
}
});
控制台.日志(数据(给我:
(2) [{…}, {…}]
0: {sum: 10, month: 'november', year: '2021', type: 'bezoeken'}
1: {sum: 50, month: 'oktober', year: '2021', type: 'bezoeken'}
length: 2
[[Prototype]]: Array(0)
log(obj(将数组分成两部分:
{sum: 10, month: 'november', year: '2021', type: 'bezoeken'}
month: "november"
sum: 10
type: "bezoeken"
year: "2021"
[[Prototype]]: Object
{sum: 50, month: 'oktober', year: '2021', type: 'bezoeken'}
month: "oktober"
sum: 50
type: "bezoeken"
year: "2021"
[[Prototype]]: Object
但我想要的是关于月份、年份和类型的foreach,因为我想知道每个月、年份和型号的总和是多少。因为这些数据应该在每月拆分的不同HTML表中查看。
HTML表格视图
看起来您的data
是objects
的array
,即:
var your_data = [
{sum: 10, month: 'november', year: '2021', type: 'bezoeken'},
{sum: 50, month: 'oktober', year: '2021', type: 'bezoeken'}
];
所以如果你想:
iterate
超过那些objects
- 访问这些
objects
中的各种properties
您可以执行以下操作:
for(var i = 0; i < your_data.length; i++) {
var year = your_data[i]['year'];
var month= your_data[i]['month'];
var type = your_data[i]['type'];
var sum = your_data[i]['sum'];
console.log("year: " + year + ", " + "month: " + month + ", " + "type: " + type + ", " + "sum: " + sum);
}
上述"解决方案"假设您的data
是您想要的,即您不需要再根据其他数据对年份、月份、类型和总和进行任何聚合。
关于将这些值放入表中,有很多不同的方法可以实现
下面是一个简单的例子,可以帮助您决定在解决方案中需要做什么或不需要做什么。
如果你想玩jsFiddle,这里有一个链接。
var your_data = [{
sum: 10,
month: 'november',
year: '2021',
type: 'bezoeken'
},
{
sum: 50,
month: 'oktober',
year: '2021',
type: 'bezoeken'
}
];
for (var i = 0; i < your_data.length; i++) {
var year = your_data[i]['year'];
var month = your_data[i]['month'];
var type = your_data[i]['type'];
var sum = your_data[i]['sum'];
var row_html = `
<tr>
<td>${year}</td>
<td>${month}</td>
<td>${type}</td>
<td>${sum}</td>
</tr>
`;
$("#your_table").append(row_html);
}
#my_table {
border: 1px solid;
}
th,
td {
border: 1px solid #000000;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table id="your_table">
<thead>
<tr>
<th>Year</th>
<th>Month</th>
<th>Type</th>
<th>Sum</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
感谢用户1063287,我的问题解决了。
for(var i = 0; i < your_data.length; i++) {
var year = your_data[i]['year'];
var month= your_data[i]['month'];
var type = your_data[i]['type'];
var sum = your_data[i]['sum'];
console.log("year: " + year + ", " + "month: " + month + ", " + "type: " +
type + ", " + "sum: " + sum);
}