帮忙看看哪里有问题,谢谢

来源:3-8 编程练习

慕粉3801737

2016-09-01 11:50

 var myarr=['*','##',"***","&&","****","##*"];
 myarr[7]="**";
 //alert(myarr.length);
var maa=new Array(); //存放筛选后的数组
var maaNum=0; //maa的索引
for(var i=0;i<myarr.length;i++)
{
    var k=0;
    for(var j=0;j<myarr[i].length;j++)
    {
        if(myarr[i][j]=="*") k++; //每一位都是*?
        else break;
    }
    if(k==myarr[i].length)
    {
        maa[maaNum++]=myarr[i]; //每位都是*时存放起来
    }
}
maa.sort(); //排序
for(var n=0;n<maa.length;n++)
{
    document.write(maa[n]+"<br />"); //输出
}

写回答 关注

1回答

  • 水里有条鱼
    2016-09-01 12:16:54
    已采纳

    因为你的myarr是没有6的,所以要加判断,像这样,不然myarr[i].length出错

    if(myarr[i]){

       var k=0;

        

        for(var j=0;j<myarr[i].length;j++)

        {

            if(myarr[i][j]=="*") k++; //每一位都是*?

            else break;

        }

        if(k==myarr[i].length)

        {

            maa[maaNum++]=myarr[i]; //每位都是*时存放起来

        }

    }


    慕粉3801...

    豁然开朗,非常感谢!

    2016-09-01 13:42:43

    共 1 条回复 >

JavaScript进阶篇

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

468061 学习 · 21891 问题

查看课程

相似问题