JS 判断某变量是否等于某数组中的一个值 的几种方法

JavaScript07

JS 判断某变量是否等于某数组中的一个值 的几种方法,第1张

1.正则表达式

js 中判断某个元素是否存在于某个 js 数组中,相当于 php 语言中的 in_array 函数。

Array.prototype.in_array=function(e){

var r=new RegExp(','+e+',')

return (r.test(','+this.join(this.S)+','))}用法如下:var arr=new Array([b,2,a,4,test])

arr.in_array('test')//判断 test 字符串是否存在于 arr 数组中,存在返回true 否则false,此处将返回true

注:此函数只对字符和数字有效

在javascript判断两个变量值是否相等,可以使用 ==(等同)操作符 或者 ===(恒等)操作符

== 操作符

“等同”操作符,简单判断2个变量值是否相等,变量类型不一致时,会做类型转换,即忽略变量的类型进行比较

例子1

var str1 = "123456" // 字符串

var str2 = "123456" // 字符串

alert(str1==str2) // 打印出 true,即相等

例子2

var str1 = 123456 // 整型

var str2 = "123456" // 字符串

alert(str1==str2) // 打印出 true,即相等

差别:

在例子1中,2个变量都是字符串类型(因为有引号),所以比较相等,打印出true;

在例子2中,变量str1是整型,但是在做==比较时,javascript 发现 2个变量类型不一致,先做了类型转换(调用str1的toString方法,把str1转成字段串),再比较2者,因此值也相等,打印出true;

2. === 操作符

“恒等”操作符,先比较2个变量类型是否一致,不一致返回false,一致时,再比较2个变量的值是否相等

例子1

var str1 = "123456" // 字符串

var str2 = "123456" // 字符串

alert(str1==str2) // 打印出 true,即相等

例子2

var str1 = 123456 // 整型

var str2 = "123456" // 字符串

alert(str1==str2) // 打印出 false,即不相等

差别:

在例子1中,2个变量都是字符串类型,且值都相等,因此打印出true;

在例子2中,变量1是整型,变量2是字符串,类型不相等,因此打印出false

比如indexOf()方法,注意O是大写。

var test="this is a test"

if(test.indexOf("test")!=-1){

//不等于-1表示该字符串包含子字符串。

}