javascript - 返回数组中存储的字段的数据

标签 javascript json extjs extjs4

这可能是一个纯 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/

相关文章:

javascript - 当鼠标经过按钮时,如何使用 onmouseover 和 onmouseout 隐藏和取消隐藏按钮?

php - 在MySQL中解析多维json字符串

php - 在服务器端问题上运行 php

javascript - 如何按字典顺序和数字顺序对一组数字进行排序?

javascript - 解析错误 [{{}}] 或使用清理不安全的网址

javascript - 带有复选框的排序列。不起作用。我卡住了

extjs - 在 extjs 中刷新页面

javascript - 在表单中添加值 Sencha Touch 2

javascript - 您是否可以在 javascript 中使用 <a name=#page> 检查滚动到的位置?

json - ECS实例无法挂载EFS