/**
* JS判断一个值是否存在数组中
* 琼台博客
*/
// 定义一个判断函数
var
in_array =
function
(arr){
// 判断参数是不是数组
var
isArr = arr && console.log(
typeof
arr===
'object'
? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(
','
):
'an empty array'
: arr.constructor:
typeof
arr
);
// 不是数组则抛出异常
if
(!isArr){
throw
"arguments is not Array"
;
}
// 遍历是否在数组中
for
(
var
i=0,k=arr.length;i<k;i++){
if
(
this
==arr[i]){
return
true
;
}
}
// 如果不在数组中就会返回false
return
false
;
}
// 给字符串添加原型
String.prototype.in_array = in_array;
// 给数字类型添加原型
Number.prototype.in_array = in_array;
// 声明一个数组
var
arr = Array(
'blue'
,
'red'
,
'110'
,
'120'
);
// 字符串测试
var
str =
'red'
;
var
isInArray = str.in_array(arr);
alert(isInArray);
// true
// 数字测试
var
num = 119;
var
isInArray = num.in_array(arr);
alert(isInArray);
// false
|
如果传入的不是数组则会抛出异常
/**
* JS判断一个值是否存在数组中
* 琼台博客
*/
// 定义一个判断函数
var
in_array =
function
(arr){
// 判断参数是不是数组
var
isArr = arr && console.log(
typeof
arr===
'object'
? arr.constructor===Array ? arr.length ? arr.length===1 ? arr[0]:arr.join(
','
):
'an empty array'
: arr.constructor:
typeof
arr
);
// 不是数组则抛出异常
if
(!isArr){
throw
"arguments is not Array"
;
}
// 遍历是否在数组中
for
(
var
i=0,k=arr.length;i<k;i++){
if
(
this
==arr[i]){
return
true
;
}
}
// 如果不在数组中就会返回false
return
false
;
}
// 给字符串添加原型
String.prototype.in_array = in_array;
// 给数字类型添加原型
Number.prototype.in_array = in_array;
// 声明一个数组
var
arr =
null
;
// 字符串测试
var
str =
'red'
;
var
isInArray = str.in_array(arr);
alert(isInArray);
// uncaught exception: arguments is not Array