用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 相关文章推荐
javascript 打印页面代码
Mar 24 Javascript
清空上传控件input file的值
Jul 03 Javascript
JQuery的Validation插件中Remote验证的中文问题
Jul 26 Javascript
用canvas 实现个图片三角化(LOW POLY)效果
Feb 18 Javascript
客户端验证用户名和密码的方法详解
Jun 16 Javascript
JS如何判断json是否为空
Jul 06 Javascript
JS图片等比例缩放方法完整示例
Aug 03 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
Jun 29 Javascript
layui table 多行删除(id获取)的方法
Sep 12 Javascript
原生js实现文件上传、下载、封装等实例方法
Jan 05 Javascript
浅谈vuex为什么不建议在action中修改state
Feb 02 Javascript
JavaScript实现原型封装轮播图
Dec 27 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
PHP校验ISBN码的函数代码
2011/01/17 PHP
php数组函数序列之array_unique() - 去除数组中重复的元素值
2011/10/29 PHP
php中有关合并某一字段键值相同的数组合并的改进
2015/03/10 PHP
php实现将字符串按照指定距离进行分割的方法
2015/03/14 PHP
php表单文件iframe异步上传实例讲解
2017/07/26 PHP
dojo 之基础篇(三)之向服务器发送数据
2007/03/24 Javascript
CSS常用网站布局实例
2008/04/03 Javascript
斜45度寻路实现函数
2009/08/20 Javascript
Javascript Function对象扩展之延时执行函数
2010/07/06 Javascript
JS读取XML文件示例代码
2013/11/15 Javascript
NodeJS url验证(url-valid)的使用方法
2013/11/18 NodeJs
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
Angularjs基础知识及示例汇总
2015/01/22 Javascript
javascript实现在网页中运行本地程序的方法
2016/02/03 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
vue2.0设置proxyTable使用axios进行跨域请求的方法
2017/10/19 Javascript
解决layui中table异步数据请求不支持自定义返回数据格式的问题
2018/08/19 Javascript
小程序实现左滑删除功能
2018/10/30 Javascript
JS中超越现实的匿名函数用法实例分析
2019/06/21 Javascript
js实现小星星游戏
2020/03/23 Javascript
微信小程序通过websocket实时语音识别的实现代码
2020/08/19 Javascript
js基于canvas实现时钟组件
2021/02/07 Javascript
python从ftp下载数据保存实例
2013/11/20 Python
Python解释执行原理分析
2014/08/22 Python
详解Python中列表和元祖的使用方法
2015/04/25 Python
Python使用Mechanize模块编写爬虫的要点解析
2016/03/31 Python
pycham查看程序执行的时间方法
2018/11/29 Python
final, finally, finalize的区别
2012/03/01 面试题
学习方法演讲稿
2014/05/10 职场文书
党性观念心得体会
2014/09/03 职场文书
大学生旷课检讨书1000字
2015/02/19 职场文书
工程催款通知书
2015/04/17 职场文书
干部理论学习心得体会
2016/01/21 职场文书
餐饮行业关注的9大营销策略
2019/08/26 职场文书
详解apache编译安装httpd-2.4.54及三种风格的init程序特点和区别
2022/07/15 Servers