从Ext JS 4.2代码,我正在调用一个返回以下JSON的服务
{
"data":{"variables":{
"out_source_index_mv":["1","16","8","17","13","17","24","19","11","19","12","22","23","5","15","4","25","10","20","0","14","18","21","7","6","26","3","9"],
"out_type_mv":["approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve","approve"],
"out_target_mv":["Move Bill To Tracking No Folder-1","Update Comments of Requestor","Set Permissions on Form for Requestor Rejected by FA","Update Comments of FA Rejection","WF Completed Permissions on Form","Update Comments of FA","Set Permissions on Form for Requestor Rejected by RM","Update Comments of RM Rejection","Set Permissions on Bill","Update Comments of RM","Reporting Manager Approves","End","Finance Approves","Send Notification to Requestor","Set Permissions on Bill after WF Complete","Move Bill To Tracking No Folder-2","Send to Requestor","Set Permissions on Bill for Requestor Rejected by RM","Set Permissions on form for Reporting Manager","Set Permissions on Attachments","Set Permissions-Tracking No. Folder","Move Bill To Tracking No Folder","Set Permissions on form for Reporting Manager","Send to Requestor","Set Permissions on Bill for Requestor","Set Permissions on Bill for RM","Set Permissions on form for Finance","WF Completed Permissions on Attachments"],
"out_status_mv":["completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed","completed"],
"out_nodes_mv":["Set Permissions-Tracking No. Folder","Update Comments of Requestor","End","Move Bill To Tracking No Folder","Set Permissions on Bill for Requestor Rejected by RM","Set Permissions on form for Finance","Set Permissions on Form for Requestor Rejected by FA","Set Permissions on Bill for Requestor","Update Comments of FA Rejection","WF Completed Permissions on Form","Set Permissions on Form for Requestor Rejected by RM","Update Comments of RM","Set Permissions on Bill for RM","Update Comments of FA","Initiate","WF Completed Permissions on Attachments","Send to Requestor","Finance Approves","Set Permissions on Bill","Reporting Manager Approves","Set Permissions on Attachments","Move Bill To Tracking No Folder-1","Set Permissions on Bill after WF Complete","Send Notification to Requestor","Update Comments of RM Rejection","Move Bill To Tracking No Folder-2","Set Permissions on form for Reporting Manager"],
"out_target_index_mv":["21","1","6","8","9","13","10","24","18","11","19","2","17","23","22","25","16","4","26","20","0","3","26","16","7","12","5","15"],
"out_source_mv":["Update Comments of Requestor","Send to Requestor","Update Comments of FA Rejection","Finance Approves","Update Comments of FA","Finance Approves","Update Comments of RM Rejection","Reporting Manager Approves","Update Comments of RM","Reporting Manager Approves","Set Permissions on Bill for RM","Set Permissions on Bill after WF Complete","Send Notification to Requestor","Set Permissions on form for Finance","WF Completed Permissions on Attachments","Set Permissions on Bill for Requestor Rejected by RM","Move Bill To Tracking No Folder-2","Set Permissions on Form for Requestor Rejected by RM","Set Permissions on Attachments","Set Permissions-Tracking No. Folder","Initiate","Set Permissions on Bill","Move Bill To Tracking No Folder-1","Set Permissions on Bill for Requestor","Set Permissions on Form for Requestor Rejected by FA","Set Permissions on form for Reporting Manager","Move Bill To Tracking No Folder","WF Completed Permissions on Form"]}}
}
所有键(如'out_source_index_mv','out_target_index_mv'等)都有28个值,但“out_nodes_mv”除外,它有27个值。
当我遍历商店时,这会导致问题。所以,在Ext Js代码中,我有
var count = store1.getCount();
for (var i = 0; i < count; i++) {
var rec = store1.getAt(i);
console.log('source : '+rec.get('out_source_mv')+' target : '+rec.get('out_target_mv')+' sourceIndex : '+rec.get('out_source_index_mv')+' targetIndex : '+rec.get('out_target_index_mv'));
console.log(' nodes : '+rec.get('out_nodes_mv'));
}
此循环适用于前27个记录。一旦到达第28条记录,下面的行就会在控制台中引发错误
console.log(' nodes : '+rec.get('out_nodes_mv'));
错误是 -
未捕获的TypeError:无法读取未定义的属性“邻居”
由于这个json是由外部服务返回的,所以我无法确保'out_nodes_mv'中的值计数与其他键中的值计数匹配(所有其他键总是具有相同数量的值) )。
如何防止此错误?
谢谢。