这个题目能不能用while写代码

这个题目能不能用while写代码

var kuang=prompt("请输入您要搜索的内容");

for(var i=0,i<kuang.length,i++){

 if(kuang.charAt(i)==="草"){document.write("敏感字草在"+(i+1)+"位置被发现"+"<br>");}

 }

document.write("敏感字草字首次出现的位置是"+kuang.indexOf("草"));


正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,请问你是对我给你优化的地方产生的疑问吗?

http://img1.sycdn.imooc.com//climg/5dde4eb10926e84606600078.jpg

因为i本身是从0开始计数的,如下:

http://img1.sycdn.imooc.com//climg/5dde4fd909801b9102070059.jpg

http://img1.sycdn.imooc.com//climg/5dde4fce0990001001100185.jpg

你这里使用i+1就是从1开始计数。而使用indexOf方法,是从0开始计数的,因此为了统一从0开始计数,上面就需要将i+1变成i,for循环的输出和这个是一致的。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

好帮手慕码 2019-11-27 16:26:35

同学你好,可以使用while写的。不过代码可以优化一下:

http://img1.sycdn.imooc.com//climg/5dde4c1c0944e76f06900325.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 提问者 迷失的小麦 #1
    为什么while可以使用i,而for需要i+1
    2019-11-27 16:53:17
提问者 迷失的小麦 2019-11-27 12:33:14

var kuang=prompt("请输入您要搜索的内容"),i=0;

while(i<kuang.length){

if(kuang.charAt(i)==="草"){document.write("敏感字草在"+(i+1)+"位置被发现"+"<br>");}

i++;

}

document.write("敏感字草字首次出现的位置是"+kuang.indexOf("草"));

不知这样对不对

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师