JS判断一个值是否在数组中

/**
  * 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
http://www.qttc.net/201208191.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值