如何从数据表中获取不同的值。从下图可以看出
您会看到“类(class) 1”具有相同的值。我想从“类(class)名称”中获取所有不同的值,同时使用 JS 从数据表中的相同不同值添加所有等效的“学生”。
我希望返回是
“类(class) 1,4 名学生”
编辑:
HTML 代码:
<table class="table" id="bookingReport" cellspacing="0" width="100%">
<thead class="thead-inverse">
<tr>
<th><h4>Course Names</h4></th>
<th><h4>Names</h4></th>
<th><h4>Dates</h4></th>
</tr>
</thead>
</table>
JS 代码:
"dataSrc": function(result) {
var obj, id, paymentMethod;
var validatedResult = [];
$.each(result.aaData, function(index, value) {
var givenName, surname, organisationName;
id = value.id;
dateCreated = value.dateCreated;
$.each(value.bookingDetail, function(i, v) {
$.each(v.student.studentCourseDetail, function(ii, sd) {
obj = new Object();
obj["id"] = sd.id;
obj["surname"] = surname;
obj["givenName"] = givenName;
obj["dateCreated"] = dateCreated;
obj["courseName"] = sd.courseName;
validatedResult.push(obj);
});
});
});
return validatedResult;
}, },
"aoColumns": [{
"data": "courseName"
}, {
"data": "givenName"
}, {
"data": "dateCreated"
}
],
最佳答案
要计算分配给每门类(class)的人数,您可以使用数组的 reduce
函数。给出下面的学生数组,您可以轻松计算结果。
var bookingList = [{
id: 1,
name: 'Alice',
courseName: 'Physics'
},
{
id: 2,
name: 'Bob',
courseName: 'Physics'
},
{
id: 3,
name: 'Emily',
courseName: 'Math'
},
{
id: 1,
name: 'Alice',
courseName: 'Math'
},
{
id: 4,
name: 'Jane',
courseName: 'Biology'
},
{
id: 5,
name: 'Dan',
courseName: 'Chemistry'
}
]
var result = bookingList.reduce(function(prevValue, currValue, index, array) {
var bookingEntry = array[index]
if (prevValue[bookingEntry.courseName] == null) {
prevValue[bookingEntry.courseName] = 1
} else {
prevValue[bookingEntry.courseName]++
}
return prevValue
}, {});
console.log(result)
关于javascript - 如何使用 JS 从数据表中获取不同的值并对特定字段求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42641771/