JS中如何判断一个字符串是一个字符串数组中的一个元素!!?

var sel = "白";
var arr =["白色","黑色","红色",”粉色"];
for(i in arr){
if(){
}
}
if的条件该怎么写?才能得到sel是在arr数组里面的?

使用test() 方法用于检测一个字符串是否匹配某个模式,如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。

具体实例演示步骤如下:

1、页面载入时,两个数组元素:

2、通过for循环尝试输出数组元素:

3、查看输出结果,正确,用来循环比较【选定的字符】。

4、测试test()函数是否正确,代码如下:

5、查看console.log输出,如下显示,正确。

6、将循环输出和test()函数合成,代码如下:

7、根据第一步的两个数组,测试,查看结果:

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-26
var sel = "白";

var arr = ["白色", "黑色", "红色", "粉色"];
// 方法1
for (var f1 in arr) {
if (arr[f1].indexOf(sel) > -1) {
// return true
alert("true")
}
}
//方法2
for (var i = 0; i < arr.length; i++) {
if (arr[i].indexOf(sel) > -1) {
// return true
}
};
//方法3
var arr = ["白色", "黑色", "红色", "粉色"];
if(arr.toString().indexOf(sel) > -1) {
alert("true")
}追问

说object没有indexof方法。。。还有别的方法可以实现字符串匹配字符串数组的元素么。

追答

注意 大小写
indexOf
not
indexof

追问

- -!是的啦。不会这个也写错的。

追答

根据你给的东西,我都测试过了方法没问题.
不要问 一些我不知道问题的问题.

本回答被提问者和网友采纳
第2个回答  2012-07-12
//扩展Array 判断指定值是否存在数组中
Array.prototype.Exists=function(v){var b=false;for(var i=0;i<this.length;i++){if(this[i]==v){b=true;break;}}return b;}

var sel = "白";
var arr =["白色","黑色","红色",”粉色"];

if(arr.Exists(sel){alert("存在");}
else{alert("不存在");}
第3个回答  2012-07-10
var array=new Array("白色","黑色","红色","粉色");
var sel="白色";
for(i=0;i<5;i++){
if( sel == array[i]){
var n= i+1;
alert("它是数组的第" + n +"个元素");
break
}
}
第4个回答  2017-11-26
var sel = "白";
var arr =["白色","黑色","红色","粉色"];
var arrStr = arr.join(',');
if(arrStr.indexOf(sel)!=-1){
console.log(sel)
}
相似回答