JavaScript实现的in_array函数


Posted in Javascript onAugust 27, 2014

在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数来判断是一个值否在函数中。

/**
 * 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

直接报错:

JavaScript实现的in_array函数

Javascript 相关文章推荐
Lazy Load 延迟加载图片的 jQuery 插件
Feb 06 Javascript
使用jQuery插件创建常规模态窗口登陆效果
Aug 23 Javascript
利用JS判断用户是否上网(连接网络)
Dec 23 Javascript
js判断ie版本号的简单实现代码
Mar 05 Javascript
JavaScript中的object转换成number或string规则介绍
Dec 31 Javascript
javascript数据类型验证方法
Dec 31 Javascript
jQuery绑定事件-多种实现方式总结
May 09 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
May 10 Javascript
基于javascript实现的购物商城商品倒计时实例
Dec 11 Javascript
移动端利用H5实现压缩图片上传功能
Mar 29 Javascript
浅谈vue的props,data,computed变化对组件更新的影响
Jan 16 Javascript
解决vue build打包之后首页白屏的问题
Mar 06 Javascript
JavaScript AJAX之惰性载入函数
Aug 27 #Javascript
IE浏览器不支持getElementsByClassName的解决方法
Aug 27 #Javascript
JavaScript中使用stopPropagation函数停止事件传播例子
Aug 27 #Javascript
JavaScript闭包函数访问外部变量的方法
Aug 27 #Javascript
JavaScript中switch判断容易犯错的一个细节
Aug 27 #Javascript
JavaScript中使用arguments获得函数传参个数实例
Aug 27 #Javascript
JavaScript中输出标签的方法
Aug 27 #Javascript
You might like
WordPress开发中自定义菜单的相关PHP函数使用简介
2016/01/05 PHP
CI框架(CodeIgniter)操作redis的方法详解
2018/01/25 PHP
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
jquery的幻灯片图片切换效果代码分享
2015/09/07 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
详解iframe与frame的区别
2016/01/13 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
Vue2.0+ElementUI实现表格翻页的实例
2017/10/23 Javascript
用npm安装vue和vue-cli,并使用webpack创建项目的方法
2018/09/28 Javascript
jquery 遍历hash操作示例【基于ajax交互】
2019/10/12 jQuery
Vue快速实现通用表单验证功能
2019/12/05 Javascript
vuex 多模块时 模块内部的mutation和action的调用方式
2020/07/24 Javascript
Python中for循环详解
2014/01/17 Python
基于python时间处理方法(详解)
2017/08/14 Python
python调用opencv实现猫脸检测功能
2019/01/15 Python
python中使用ctypes调用so传参设置遇到的问题及解决方法
2019/06/19 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
浅谈pytorch grad_fn以及权重梯度不更新的问题
2019/08/20 Python
python二元表达式用法
2019/12/04 Python
python3实现绘制二维点图
2019/12/04 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
驴妈妈旅游网:中国新型的B2C旅游电子商务网站
2016/08/16 全球购物
优衣库澳大利亚官网:UNIQLO澳大利亚
2017/01/18 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
Tea Collection官网:一家位于旧金山的童装公司
2020/08/07 全球购物
应届生的求职推荐信范文
2013/11/30 职场文书
八年级英语教学反思
2014/01/09 职场文书
公务员职业生涯规划书范文  
2014/01/19 职场文书
正风肃纪剖析材料
2014/02/18 职场文书
小学爱国卫生月活动总结
2014/06/30 职场文书
实习协议书范本
2014/09/25 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书