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 相关文章推荐
用jQuery中的ajax分页实现代码
Sep 20 Javascript
如何将一个String和多个String值进行比较思路分析
Apr 22 Javascript
JS判断数组中是否有重复值得三种实用方法
Aug 16 Javascript
jquery实现省市select下拉框的替换(示例代码)
Feb 22 Javascript
node.js中的socket.io的广播消息
Dec 15 Javascript
微信小程序 Page()函数详解
Oct 17 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
Javascript中数组去重与拍平的方法示例
Feb 03 Javascript
微信小程序 空白页重定向解决办法
Jun 27 Javascript
jsonp跨域及实现百度首页联想功能的方法
Aug 30 Javascript
vuejs+element UI table表格中实现禁用部分复选框的方法
Sep 20 Javascript
如何优化vue打包文件过大
Apr 13 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
Protoss热键控制
2020/03/14 星际争霸
PHP之变量、常量学习笔记
2008/03/27 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
php递归删除目录与文件的方法
2015/01/30 PHP
php对关联数组循环遍历的实现方法
2015/03/13 PHP
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
js闭包的用途详解
2014/11/09 Javascript
jQuery插件开发的五种形态小结
2015/03/04 Javascript
jQuery遍历DOM元素与节点方法详解
2016/04/14 Javascript
vueJS简单的点击显示与隐藏的效果【实现代码】
2016/05/03 Javascript
JS实现图片剪裁并预览效果
2016/08/12 Javascript
Javascript发送AJAX请求实例代码
2016/08/21 Javascript
jQuery实现别踩白块儿网页版小游戏
2017/01/18 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
JS小球抛物线轨迹运动的两种实现方法详解
2017/12/20 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
2019/04/04 Javascript
微信小程序页面调用自定义组件内的事件详解
2019/09/12 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
python编码总结(编码类型、格式、转码)
2016/07/01 Python
python+opencv实现动态物体追踪
2018/01/09 Python
浅谈Python对内存的使用(深浅拷贝)
2018/01/17 Python
Python实现的银行系统模拟程序完整案例
2019/04/12 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
运行tensorflow python程序,限制对GPU和CPU的占用操作
2020/02/06 Python
Django之腾讯云短信的实现
2020/06/12 Python
利用CSS3实现单选框动画特效示例代码
2016/09/26 HTML / CSS
在线实验室测试:HealthLabs.com
2020/05/03 全球购物
业务部门经理岗位职责
2014/02/23 职场文书
电视节目策划方案
2014/05/16 职场文书
服装仓管员岗位职责
2014/06/17 职场文书
安全伴我行演讲稿
2014/09/04 职场文书
销售经理工作检讨书
2015/02/19 职场文书
教学督导岗位职责
2015/04/10 职场文书
2015年党总支工作总结
2015/05/25 职场文书
优秀志愿者感言
2015/08/01 职场文书
js 实现Material UI点击涟漪效果示例
2022/09/23 Javascript