这可能是一个纯 javascript 的问题,但不知何故我无法得到正确的结果。我正在使用 sencha 架构师开发 extjs4.2。我有一个从服务器发送的 json 响应
{
"data": [{
"ExamID": 1,
"ExamName": "Semester-1",
"MaxMarks": 100
}, {
"ExamID": 4,
"ExamName": "Test-1",
"MaxMarks": 10
}, {
"ExamID": 5,
"ExamName": "Test-2",
"MaxMarks": 10
}]
}
我正在寻找的是仅使用“ExamName”的数据重新配置网格。因此,“ExamName”应在 reconfigure() 函数中作为数组传递。
我无法获取数组形式的“ExamName”。非常感谢您的帮助
var gridStore = Ext.data.StoreManager.get('ClassSemesterStore');
var g = gridStore.load( {params : {ClassID: ClassData }});
var data = g.data;
var length = data.getCount();
var examName = [];
for(var i = 0; i < length; i++){
examName.push(data[i]['ExamName']);
}
它显示“未捕获类型错误:无法读取未定义的属性“ExamName””
最佳答案
我想如果我理解正确的话,您是在尝试让 examName 成为一个新数组,其内容是响应数据中的每个 ExamName 吗?如果是这样,这应该可行。
var data = {"data":[{"ExamID":1,"ExamName":"Semester-1","MaxMarks":100},{"ExamID":4,"ExamName":"Test-1","MaxMarks":10},{"ExamID":5,"ExamName":"Test-2","MaxMarks":10}]}
var examName = [];
for(var i = 0; i < data.data.length; i++){
examName.push(data.data[i]['ExamName']);
}
现在 examName 是一个包含“Semester-1”、“Test-1”和“Test-2”的数组
关于javascript - 返回数组中存储的字段的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24226450/