用js实现in_array的方法


Posted in Javascript onNovember 05, 2013

在js中我们不能像php中那样直接要判断一个值或字符串在数组中利用in_array来实现,因为js没有in_array函数,但是我们可以自定来给js写一个in_array函数,下面我收集了几个。
例1

function in_array(stringToSearch, arrayToSearch) {
 for (s = 0; s < arrayToSearch.length; s++) {
  thisEntry = arrayToSearch[s].toString();
  if (thisEntry == stringToSearch) {
   return true;
  }
 }
 return false;
}

例2
var a = Array(1,2,3,4,5);
function in_array(search,array){
    for(var i in array){
        if(array[i]==search){
            return true;
        }
    }
    return false;
}
alert(in_array(11,a));
 

例3
/** 
* 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 
JS判断一个数组中是否有重复值的 
var ary = new Array("111","22","33","111"); 
var s = ary.join(",")+","; 
for(var i=0;i<ary.length;i++) { 
if(s.replace(ary[i]+",","").indexOf(ary[i]+",")>-1) { 
alert("数组中有重复元素:" + ary[i]); 
break; 
} 
}
 

总结
三个实例都实现了in_array函数的功能,都可以判断给定的元素是否在数组中了,个人最喜欢的是最后一种办法,考虑比较全面哦。
Javascript 相关文章推荐
JSQL SQLProxy 的 php 版本代码
May 05 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
Aug 09 Javascript
JS文本框默认值处理详解
Jul 10 Javascript
jQuery实现单击弹出Div层窗口效果(可关闭可拖动)
Sep 19 Javascript
关于JSON.parse(),JSON.stringify(),jQuery.parseJSON()的用法
Jun 30 Javascript
javascript 解决浏览器不支持的问题
Sep 24 Javascript
Node.js 使用流实现读写同步边读边写功能
Sep 11 Javascript
Node.js中DNS模块学习总结
Feb 28 Javascript
jquery的 filter()方法使用教程
Mar 22 jQuery
Vue 事件处理操作实例详解
Mar 05 Javascript
layui弹出框Tab选项卡的示例代码
Sep 04 Javascript
vue实现点击按钮下载文件功能
Oct 11 Javascript
jquery遍历数组与筛选数组的方法
Nov 05 #Javascript
javascript alert乱码的解决方法
Nov 05 #Javascript
jquery三个关闭弹出层的小示例
Nov 05 #Javascript
jquery ajax post提交数据乱码
Nov 05 #Javascript
jquery ajax属性async(同步异步)示例
Nov 05 #Javascript
jQuery Ajax异步处理Json数据详解
Nov 05 #Javascript
Javascript脚本实现静态网页加密实例代码
Nov 05 #Javascript
You might like
造就帕卡马拉的帕卡斯是怎么被发现的
2021/03/03 咖啡文化
对Session和Cookie的区分与解释
2007/03/16 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
php使用exec shell命令注入的方法讲解
2013/11/12 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
nginx+thinkphp下解决不支持pathinfo模式
2015/07/01 PHP
php实现Mysql简易操作类
2015/10/11 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
PHP查询并删除数据库多列重复数据的方法(利用数组函数实现)
2016/02/23 PHP
JavaScript获得选中文本内容的方法
2008/12/02 Javascript
JavaScript 字符串连接性能优化
2008/12/20 Javascript
浅谈javascript的原型继承
2012/07/25 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
cocos2dx骨骼动画Armature源码剖析(三)
2015/09/08 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
jQuery easyui刷新当前tabs的方法
2016/09/23 Javascript
Bootstrap基本组件学习笔记之导航(10)
2016/12/07 Javascript
Javascript之深入浅出prototype
2017/02/06 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
2017/07/03 Javascript
JavaScript获取tr td 的三种方式全面总结(推荐)
2017/08/15 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
小程序登录/注册页面设计的实现代码
2019/05/24 Javascript
Python中的特殊语法:filter、map、reduce、lambda介绍
2015/04/14 Python
总结python爬虫抓站的实用技巧
2016/08/09 Python
python程序变成软件的实操方法
2019/06/24 Python
美团网旗下网上订餐平台:美团外卖
2020/03/05 全球购物
教师新年寄语
2014/04/03 职场文书
集中整治工作方案
2014/05/01 职场文书
离婚协议书怎样才有法律效力
2014/10/10 职场文书
检讨书范文300字
2015/01/28 职场文书
2015年客服工作总结范文
2015/04/02 职场文书
清明节文明祭祀倡议书
2015/04/28 职场文书
经济纠纷起诉状
2015/05/20 职场文书
秋收起义观后感
2015/06/11 职场文书
Java SSM配置文件案例详解
2021/08/30 Java/Android