如何迭代每个科学对象/数组的第一个元素(问题)?我使用" science.question"这不起作用。 ```
var $employeeTable,
savedPage ;
function initalizeEmp() {
$employeeTable = $('#employee').DataTable({
responsive: true,
"order": [[1, "desc"]],
"lengthMenu": [[10, 25], [10, 25]],
"columnDefs": [{
"targets": 4,
"render": function (data, type, full, meta) {
if ($(data).attr('results-grid') != "")
return '<a href="javascript: void(0);" onclick="window.open(\'../School/DownloadEmp.aspx?EmpID=' + $(data).attr('results-grid') + '\')" target="_blank">' + data + '</a>';
//return '<a href="javascript: void(0);" onclick="EmpLink(' + $(data).attr('results-grid') + ')">' + data + '</a>';
else
return data;
}, "orderable": true
},
{
'bSortable': false,"targets": [0]
},
{ type: 'date-mm-dd-yyyy', targets: 1 },
{
'bSortable': false,"targets": [6]
},
{
'bSortable': false,"targets": [7]
},
{
'bSortable': false,"targets": [8]
}
],
fnInitComplete: function () {
setTimeout(function () {
if (typeof savedPage !== 'undefined') {
$employeeTable.page(savedPage).draw(false);
}
//$('body').vtUnmask();
}, 10);
}
});
$('#employee').on('page.dt', function () {
savedPage = $employeeTable.page();
$('input[id*="_checkBox"]').attr('checked', false);
});
}
```
答案 0 :(得分:0)
我希望您的代码看起来更像这样......
var scienceQuestion = {
scienceQue: function() {
for (var i = 0; i < this.science.length; i++) {
questionsDiv.innerHTML += this.science[i].question;
}
},
science: [
{ question: "What size is", choices: [10, 44, 15], correctIndex: 1 },
{ question: "???", choices: [0, 1, 2], correctIndex: 2 }
]
}
你定义scienceQuestion对象的方式,科学是它的一个属性,是一个数组。因此,您需要在scienceQuestion对象中使用它来引用它,例如this.science。因为它是一个数组,你需要使用this.science [0]等来引用数组的元素。如果你需要迭代它们,那么使用for循环和this.science [i]将循环中的每个元素都提升到this.science.length,如上所述。我的例子只是附加到div元素的innerHTML属性,以便您可以看到结果。希望有所帮助:)