为了账号安全,请及时绑定邮箱和手机立即绑定

javascript进阶篇4-10的问题,为什么出不了结果

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script type="text/javascript">
var infos=[['A','女','21','大一'],['B','男','23','大三'],['C','男','24','大四'],['D','女','21','大一']];
for(var i=0;i<=infos.length;i++)
{switch(infos[i][3])
  {case 'dayi':
        if (infos[i][1]=='nv')
      document.write(infos[i][0]);
     break; 
     default:
     document.write("请继续查找!");
     break;}
  } 
</script>
</head>
<body>
</body>
</html>


正在回答

5 回答

for(var i=0 in infos){

  var c = infos[i][3];

  var d = infos[i][0];

  switch(c)

  {

    case "大一":

      if(infos[i][1]=='女'){

        document.write(d);

      }

      break;

    default:

     document.write("请继续查找!");

     break;

  } 

}

楼主你是要这样的效果吗?

1 回复 有任何疑惑可以回复我~
#1

菜菜粒 提问者

非常感谢!
2016-09-22 回复 有任何疑惑可以回复我~

<script type="text/javascript">

    var infos=[["小A","女",21,"大一"],["小B","男",23,"大三"],["小C","男",24,"大四"],["小D","女",21,"大一"],["小E","女",22,"大四"],["小F","男",21,"大一"],["小G","女",22,"大二"],["小H","女",20,"大三"],["小I","女",20,"大一"],["小J","男",20,"大三"]];

    for (var i=0; i<infos.length; i++){

    if(infos[i][3] == "大一" && infos[i][1] == "女"){

        document.write(infos[i][0] + "<br />")

    }

        }

仅供参考!!!!

0 回复 有任何疑惑可以回复我~

switch()不能直接比较两个字符串。

你改成用多个if()吧。如果一定要用switch,就增加一个函数用来判断字符串编号,然后switch()这个编号
比如:
int getNum(char* s)
{
   if(!strcmp(s,"a"))  return 1;
   if(!strcmp(s,"b"))  return 2;
   return -1;
}

……
int main()
{
 ……
char s[100];

 switch(getNum(s))
{
  case 1:
  case2:
……
}
}


0 回复 有任何疑惑可以回复我~
#1

菜菜粒 提问者

不是的,把楼上同学说的;改了,就能出来结果了,程序的逻辑没问题
2016-09-22 回复 有任何疑惑可以回复我~

case和default后面的冒号有问题,你的是在中文输入法下的,还有那个‘nv’也有问题

0 回复 有任何疑惑可以回复我~
#1

菜菜粒 提问者

我试下哈,亲
2016-09-22 回复 有任何疑惑可以回复我~
#2

菜菜粒 提问者 回复 菜菜粒 提问者

结果是这个请继续查找!请继续查找!请继续查找!请继续查找!,怎么破
2016-09-22 回复 有任何疑惑可以回复我~
#3

叶子_2016 回复 菜菜粒 提问者

按照你的程序结果没问题呀,第一行找到大一女生,所以输出A,第二行,第三行符合default条件,按照你的程序就是输出“请继续查找”,第四行输出D。 你把document.write("请继续查找!");语句删掉就可以了
2016-09-22 回复 有任何疑惑可以回复我~
#4

叶子_2016 回复 菜菜粒 提问者

for(var i=0;i<=infos.length;i++) {switch(infos[i][3]) {case '大一': if (infos[i][1]=='女') document.write(infos[i][0]); break; default: break;} }
2016-09-22 回复 有任何疑惑可以回复我~
查看1条回复

'dayi'这个拼音是什么鬼???

0 回复 有任何疑惑可以回复我~
#1

菜菜粒 提问者

我改成了大一,还是出不来结果啊
2016-09-22 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JavaScript进阶篇
  • 参与学习       468061    人
  • 解答问题       21891    个

本课程从如何插入JS代码开始,带您进入网页动态交互世界

进入课程

javascript进阶篇4-10的问题,为什么出不了结果

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信