Javascript 访问嵌套数组元素。
我试图访问一个数组中的单元格中的元素,它位于另一个数组中 我尝试了几种方法,但都返回未定义 json:Javascript 访问嵌套数组元素。,javascript,json,Javascript,Json,我试图访问一个数组中的单元格中的元素,它位于另一个数组中 我尝试了几种方法,但都返回未定义 json: [ {"assignment":"Tom" , "cell":["Tom", "2013-10-06", "Client 3", "Activity", "Scheduled" ]} ] $.getJSON('data/gridData1.json',function(json){ var grid = json; filte
[
{"assignment":"Tom" , "cell":["Tom", "2013-10-06", "Client 3", "Activity", "Scheduled" ]}
]
$.getJSON('data/gridData1.json',function(json){
var grid = json;
filterGrid(grid, ele);
});
function filterGrid(filter, ele){
var types = ['Activity','Alert','Lead','Notification'];
var newTable = [];
var cs1 = $("option:selected", ele).attr("class");
var option = $("select[name='datagrid_filter'] option:selected").text().trim();
if(cs1 == 'type'){
for(var i = 0; i < types.length; i++){
if(types[i]==option){
for(var k = 0; k < filter.length; k++){
if(**filter[0][0][0].value==option**){
newTable.push(filter[k]);
}
}
break;
}
}
}
buildGrid(newTable);
}
jquery:
[
{"assignment":"Tom" , "cell":["Tom", "2013-10-06", "Client 3", "Activity", "Scheduled" ]}
]
$.getJSON('data/gridData1.json',function(json){
var grid = json;
filterGrid(grid, ele);
});
function filterGrid(filter, ele){
var types = ['Activity','Alert','Lead','Notification'];
var newTable = [];
var cs1 = $("option:selected", ele).attr("class");
var option = $("select[name='datagrid_filter'] option:selected").text().trim();
if(cs1 == 'type'){
for(var i = 0; i < types.length; i++){
if(types[i]==option){
for(var k = 0; k < filter.length; k++){
if(**filter[0][0][0].value==option**){
newTable.push(filter[k]);
}
}
break;
}
}
}
buildGrid(newTable);
}
这段代码返回的数组非常好
javascript:
[
{"assignment":"Tom" , "cell":["Tom", "2013-10-06", "Client 3", "Activity", "Scheduled" ]}
]
$.getJSON('data/gridData1.json',function(json){
var grid = json;
filterGrid(grid, ele);
});
function filterGrid(filter, ele){
var types = ['Activity','Alert','Lead','Notification'];
var newTable = [];
var cs1 = $("option:selected", ele).attr("class");
var option = $("select[name='datagrid_filter'] option:selected").text().trim();
if(cs1 == 'type'){
for(var i = 0; i < types.length; i++){
if(types[i]==option){
for(var k = 0; k < filter.length; k++){
if(**filter[0][0][0].value==option**){
newTable.push(filter[k]);
}
}
break;
}
}
}
buildGrid(newTable);
}
函数filterGrid(过滤器,ele){
变量类型=['Activity'、'Alert'、'Lead'、'Notification'];
var newTable=[];
var cs1=$(“选项:选定”,ele).attr(“类”);
var option=$(“选择[name='datagrid_filter']option:selected”).text().trim();
如果(cs1==“类型”){
对于(变量i=0;i
不返回任何内容,包括第一个元素。
任何想法都很好。您的数组有一个元素,它是一个对象,因此
过滤器[0]
为您提供该对象
该对象有两个属性,assignment
和cell
,因此filter[0]。assignment
提供“Tom”和filter[0]。cell
提供内部数组
内部数组中有filter[0]。cell.length
项,第一个是filter[0]。cell[0]
,第二个是filter[0]。cell[1]
,等等
要迭代内部数组中的项,请执行以下操作:
for(var k = 0; k < filter[0].cell.length; k++){
if(filter[0].cell[k]==option){
newTable.push(filter[0].cell[k]);
break;
}
}
您尝试使用
过滤器[0][0][0]。value
的代码无效,因为您无法通过数字索引访问对象属性,除非实际属性名称是数字,而且在任何情况下,您都不希望.value
位位于末尾。我看不到JSON和过滤器
之间的连接。filterGrid()
做什么?我知道我是从json获取信息的。这不是问题所在。问题是如何找到隐藏在所有嵌套数组中的元素