如何在检测在输入框输入的内容等不等于数组的值,并且输出与数组相等的值的索引

如何在检测在输入框输入的内容等不等于数组的值,并且输出与数组相等的值的索引

var x=["草","家","日","英"]

var input=prompt("请输入");

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

if(x[i]==input){

document.write(input.indexOf(x))

}

}


正在回答

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

3回答

同学你好,indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。如果能找到这个字符串,则返回存在的位置,如果要检索的字符串值没有出现,则该方法返回 -1:

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

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

那么在这个代码里面:

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

好帮手慕粉 2020-06-07 13:41:42

同学你好,可以实现的,参考如下:

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

祝学习愉快~

  • 提问者 hgu003 #1
    可以解释一下那句if条件的意思吗
    2020-06-07 14:16:17
好帮手慕粉 2020-06-07 11:33:32

同学你好,同学这样的实现思路是不对的,用x[i] == input来判断是有局限性的,老师只能输入一个字,且这个字必须是数组中的其中一个:

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

这个式子才能成立。修改参考:

<script>
        //补充代码
        var input = prompt("请输入您要搜索的内容");
        for (var i = 0; i < input.length; i++) {
            if (input.charAt(i) === "草") {
                document.write("敏感字‘草’字在" + i + "位置被发现" + "<br/>");
            }
        }
        document.write("敏感字‘草’字首次出现的位置是" + input.indexOf("草"));
    </script>

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

  • 提问者 hgu003 #1
    我就是想检测我在input输入的一段文字有没有包含我数组里的敏感字,然后输出敏感字在第几位出现,这个不能实现嘛老师?
    2020-06-07 11:42:15
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

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

帮助反馈 APP下载

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

公众号

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

在线咨询

领取优惠

免费试听

领取大纲

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