2 uwenhao2008 uwenhao2008 于 2017.09.06 15:15 提问

我是javascript新手,学习过程中遇到一个问题,请帮忙指教

我想做的是模拟彩票,先从1~31摇出来六个红球,但是程序执行的时候总提示
Uncaught TypeError: reds.search is not a function
,也就是提示while(reds.search(/reds[i]/)==-1){这行出错,但是这个错误原因找不到,我的思路自己是在看不出来什么为问题

var reds=[];
//从arr中拿走六个球
//执行6次摇奖,摇红球
//产生arr[0],以便进入while循环
reds.push(Math.floor(Math.random()*(31-1+1)+1));
for(i=1;i<6;i++){
reds.push(Math.floor(Math.random()*(31-1+1)+1));
//若是第二次摇到的红球号码和第一次相同,则不作数,继续摇号知道选择到不重复的为止
while(reds.search(/reds[i]/)!=-1){
reds.push(Math.floor(Math.random()*(31-1+1)+1));
}
}
console.log(reds);


7个回答

showbo
showbo   Ds   Rxr 2017.09.06 15:28

数组没有search这个方法,你是要搞什么,查找数组项下标用findIndex

如果自己扩展的要将扩展的js文件导入当前页面

showbo
showbo 或者indexOf方法
3 个月之前 回复
baidu_31884935
baidu_31884935   2017.09.06 15:23

你应该是没有定义这个方法吧!

warren543003226
warren543003226   2017.09.06 15:24

没有search这个方法

u013181058
u013181058   2017.09.06 15:26

js数组没有search这个方法

Beamon__
Beamon__   2017.09.07 12:57

Uncaught TypeError: reds.search is not a function //表示reds.search不是一个函数,关于你的设想可参考图片代码:
图片说明
代码运行结果如下:
图片说明

-------------------以上回复仅为个人观点,可参考,不足之处欢迎指正!

yuuuuchang
yuuuuchang   2017.09.08 11:16

错误提示意思 rea.search 不是一个方法

qq_36592414
qq_36592414   2017.09.08 13:24

你是不是想要判断是否有这个字符在你的数组中,感觉你想要的应该是indexof这个方法吧,你那报错是因为你没有在res上定义你那个方法,找不到自然就是undefined

Csdn user default icon
上传中...
上传图片
插入图片