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 相关文章推荐
(function(){})()的用法与优点
Mar 11 Javascript
js函数排序的实例代码
Jul 01 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 Javascript
JS 打印功能代码可实现打印预览、打印设置等
Oct 31 Javascript
jQuery制作简洁的多级联动Select下拉框
Dec 23 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
Jul 28 Javascript
JavaScript实现的经典文件树菜单效果
Sep 08 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
Aug 01 Javascript
解决html input验证只能输入数字,不能输入其他的问题
Jul 21 Javascript
深入理解Vue nextTick 机制
Apr 28 Javascript
google广告之另类js调用实现代码
Aug 22 Javascript
vue点击弹窗自动触发点击事件的解决办法(模拟场景)
May 25 Vue.js
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
建立动态的WML站点(一)
2006/10/09 PHP
PHP中文分词的简单实现代码分享
2011/07/17 PHP
Array对象方法参考
2006/10/03 Javascript
js中键盘事件实例简析
2015/01/10 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
JavaScript淡入淡出渐变简单实例
2015/08/06 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
详解JavaScript基于面向对象之继承
2015/12/13 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
2016/08/15 Javascript
Javascript实现前端简单的路由实例
2016/09/11 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
jquery实现提示语淡入效果
2017/05/05 jQuery
浅谈Node.js ORM框架Sequlize之表间关系
2017/07/24 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
javaScript canvas实现(画笔大小 颜色 橡皮的实例)
2017/11/28 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Python+OpenCV让电脑帮你玩微信跳一跳
2018/01/04 Python
python中计算一个列表中连续相同的元素个数方法
2018/06/29 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
Python实现上下文管理器的方法
2020/08/07 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
python 高阶函数简单介绍
2021/02/19 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
美国轻奢时尚购物网站:REVOLVE(支持中文)
2020/07/18 全球购物
Tessabit美国:集世界奢侈品和设计师品牌的意大利精品买手店
2020/06/29 全球购物
ORACLE第二个十问
2013/12/14 面试题
工业自动化毕业生自荐信范文
2014/01/04 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
优秀党支部书记事迹材料
2014/05/29 职场文书
2014年反腐倡廉工作总结
2014/12/05 职场文书
2014年学校教学工作总结
2014/12/06 职场文书
优质服务心得体会(共4篇)
2016/01/22 职场文书
演讲稿:​快乐,从不抱怨开始!
2019/04/02 职场文书