报这个错:Uncaught TypeError: Cannot set property '0' of undefined
var w = 37;
var h = 20;
var map_arr = [];
var start,end;
window.onload = function(){
handleConnect();
var map = document.getElementById("map");
var arr = [];
arr.push("<table width='1550px' height='700px' border='1' cellpadding='0' cellspacing='0'>");
for(var i = 0 ; i < h ; i++){
arr.push("<tr>");
if(!map_arr[i]) map_arr[i] = [];
for(var j = 0 ; j < w ;j++){
arr.push("<td id='"+j+"-"+i+"' style='border:1px solid #000'>"+j+"-"+i+"</td>"); //onclick='td(" + i + "," + j + ")'
if(4<j&&j<14&&2<i&&i<5){
map_arr[j][i] = 0;
}else if(19<j&&j<37&&i<7){
map_arr[j][i] = 0;
}else if(j<13&&i>8){
map_arr[j][i] = 0;
}else if(14<j&&j<17&&15<i&&i<17){
map_arr[j][i] = 0;
}else if(22<j&&j<35&&8<i&&i<14){
map_arr[j][i] = 0;
}else if(22<j&&j<35&&14<i&&i<19){
map_arr[j][i] = 0;
}else{
map_arr[j][i] = 1;
}
}
arr.push("</tr>");
}
arr.push("</table>");
这是什么错误,数组未定义??该怎么改??
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
3条回答 默认 最新
- Go 旅城通票 2017-09-07 03:34关注
j的for遍历引用的下标反了,
if(!map_arr[i]) map_arr[i] = []; //你这里是i for(var j = 0 ; j < w ;j++){ arr.push("<td id='"+j+"-"+i+"' style='border:1px solid #000'>"+j+"-"+i+"</td>"); //onclick='td(" + i + "," + j + ")' if(4<j&&j<14&&2<i&&i<5){ map_arr[j][i] = 0;//这里是j,那你第一次遍历i为0时,j=2,那不不是越界了 map_arr[2]为undefined,在赋值就报错了
map_arr[j][i] 这样写的全部改成
map_arr[i][j]本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 三菱伺服电机按启动按钮有使能但不动作
- ¥20 为什么我写出来的绘图程序是这样的,有没有lao哥改一下
- ¥15 js,页面2返回页面1时定位进入的设备
- ¥200 关于#c++#的问题,请各位专家解答!网站的邀请码
- ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
- ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
- ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
- ¥20 腾讯企业邮箱邮件可以恢复么
- ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
- ¥15 错误 LNK2001 无法解析的外部符号