我是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);


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

没有search这个方法

js数组没有search这个方法

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

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

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

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

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

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