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 相关文章推荐
设置下载不需要倒计时cookie(倒计时代码)
Nov 19 Javascript
浏览器兼容console对象的简要解决方案分享
Oct 24 Javascript
javascript实现回车键提交表单方法总结
Jan 10 Javascript
jQuery使用fadeout实现元素渐隐效果的方法
Mar 27 Javascript
Bootstrap导航条可点击和鼠标悬停显示下拉菜单的实现代码
Jun 23 Javascript
微信小程序开发之入门实例教程篇
Mar 07 Javascript
详解Node.js中的Async和Await函数
Feb 22 Javascript
vue中使用iview自定义验证关键词输入框问题及解决方法
Mar 26 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
Jul 11 Javascript
JS简单判断是否在微信浏览器打开的方法示例
Jan 08 Javascript
Vue.js原理分析之nextTick实现详解
Sep 07 Javascript
jQuery实现回到顶部效果
Oct 19 jQuery
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
php数据类型判断函数有哪些
2013/09/23 PHP
PHP常用的缓存技术汇总
2014/05/05 PHP
PHP对象的浅复制与深复制的实例详解
2017/10/26 PHP
PHP实现的只保留字符串首尾字符功能示例【隐藏部分字符串】
2019/03/11 PHP
SharePoint 客户端对象模型 (一) ECMA Script
2011/05/22 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
2011/09/17 Javascript
JS代码优化技巧之通俗版(减少js体积)
2011/12/23 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
浅谈javascript回调函数
2014/12/07 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
简介JavaScript中fixed()方法的使用
2015/06/08 Javascript
js的flv视频播放器插件使用方法
2015/06/23 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
jQuery实现时尚漂亮的弹出式对话框实例
2015/08/07 Javascript
JS实现可点击展开与关闭的左侧广告代码
2015/09/02 Javascript
详解JavaScript基于面向对象之创建对象(1)
2015/12/10 Javascript
跨域资源共享 CORS 详解
2016/04/26 Javascript
BootStrap实现响应式布局导航栏折叠隐藏效果(在小屏幕、手机屏幕浏览时自动折叠隐藏)
2016/11/30 Javascript
JavaScript基于扩展String实现替换字符串中index处字符的方法
2017/06/13 Javascript
vue实现一个炫酷的日历组件
2018/10/08 Javascript
微信小程序之swiper滑动面板用法示例
2018/12/04 Javascript
收藏整理的一些Python常用方法和技巧
2015/05/18 Python
浅谈python和C语言混编的几种方式(推荐)
2017/09/27 Python
pygame游戏之旅 添加游戏界面按键图形
2018/11/20 Python
详解Django CAS 解决方案
2019/10/30 Python
Django使用消息提示简单的弹出个对话框实例
2019/11/15 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
施华洛世奇韩国官网:SWAROVSKI韩国
2018/06/05 全球购物
学生实习推荐信范文
2013/11/26 职场文书
安全生产月演讲稿
2014/05/09 职场文书
2014党员民主评议个人思想剖析发言
2014/09/19 职场文书
2014年勤工助学工作总结
2014/11/24 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
2015年度优秀员工推荐信
2015/03/23 职场文书
团队合作精神学习心得体会
2016/01/19 职场文书