javascript中判断一个值是否在数组中并没有直接使用


Posted in Javascript onDecember 17, 2012
在JS中要判断一个值是否在数组中并没有函数直接使用,如PHP中就有in_array()这个函数。但我们可以写一个类似in_array()函数来判断是一个值否在函数中

例1

/* 
* 
* 判断在数组中是否含有给定的一个变量值 
* 参数: 
* needle:需要查询的值 
* haystack:被查询的数组 
* 在haystack中查询needle是否存在,如果找到返回true,否则返回false。 
* 此函数只能对字符和数字有效 
* 
*/ 
function findnum(){ 
var a=[1,2];//假设a是数组,obj是要判断的数 
var obj=1; 
var b = false; 
for (var i = 0; i < a.length; i++) { 
if (a[i] == obj) { 
b = true;break; 
} 
} 
if (b) 
alert("数组中存在a[" + i + "]:" + a[i]); 
else 
alert("数组中不存在"+obj); 
}
 
例2
/** 
* 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; 
} 
}
 
例5
function isRepeat(arr){ 
var hash = {}; 
for(var i in arr) { 
if(hash[arr[i]]) 
return true; 
hash[arr[i]] = true; 
} 
return false; 
}
Javascript 相关文章推荐
JQuery 表单中textarea字数限制实现代码
Dec 07 Javascript
javascript中万恶的function实例分析
May 25 Javascript
js 字符串转化成数字的代码
Jun 29 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
jQuery中parentsUntil()方法用法实例
Jan 07 Javascript
Javascript数组操作函数总结
Feb 05 Javascript
jQuery实现的网页竖向菜单效果代码
Aug 26 Javascript
AngularJS1.X学习笔记2-数据绑定详解
Apr 01 Javascript
js通过Date对象实现倒计时动画效果
Oct 27 Javascript
简单了解Ajax表单序列化的实现方法
Jun 14 Javascript
vue表单数据交互提交演示教程
Nov 13 Javascript
Javascript之datagrid查询详解
Sep 15 Javascript
firefox下jquery iframe刷新页面提示会导致重复之前动作
Dec 17 #Javascript
使用按钮控制以何种方式打开新窗口的属性介绍
Dec 17 #Javascript
如何让页面在打开时自动刷新一次让图片全部显示
Dec 17 #Javascript
js中escape对应的C#解码函数 UrlDecode
Dec 16 #Javascript
Ext JS 4官方文档之三 -- 类体系概述与实践
Dec 16 #Javascript
js弹出的对话窗口永远保持居中显示
Dec 15 #Javascript
JS函数实现动态添加CSS样式表文件
Dec 15 #Javascript
You might like
修改了一个很不错的php验证码(支持中文)
2007/02/14 PHP
PHP文件上传判断file是否己选择上传文件的方法
2014/11/10 PHP
php实现的任意进制互转类分享
2015/07/07 PHP
PHP中CheckBox多选框上传失败的代码写法
2017/02/13 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
动态加载iframe
2006/06/16 Javascript
不要小看注释掉的JS 引起的安全问题
2008/12/27 Javascript
模仿JQuery.extend函数扩展自己对象的js代码
2009/12/09 Javascript
js 判断一个元素是否在页面中存在
2012/12/27 Javascript
Javascript中typeof 用法小结
2015/05/12 Javascript
Bootstrap每天必学之导航
2015/11/26 Javascript
jQuery的框架介绍
2016/05/11 Javascript
JS 对象(Object)和字符串(String)互转方法
2016/05/20 Javascript
JavaScript获取用户所在城市及地理位置
2018/04/21 Javascript
React Hooks的深入理解与使用
2018/11/12 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
vue项目中使用scss的方法步骤
2019/05/16 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
用js实现放大镜效果
2020/10/28 Javascript
Python生成随机密码
2015/03/10 Python
Python中正则表达式的详细教程
2015/04/30 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
纯python实现机器学习之kNN算法示例
2018/03/01 Python
解决Mac下使用python的坑
2019/08/13 Python
python系列 文件操作的代码
2019/10/06 Python
OpenCV4.1.0+VS2017环境配置的方法步骤
2020/07/09 Python
详解Pandas 处理缺失值指令大全
2020/07/30 Python
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
BrandAlley英国:法国折扣奢侈品网上零售商
2017/07/03 全球购物
药学专业学生的自我评价分享
2014/02/06 职场文书
金融管理专业毕业生求职信
2014/03/12 职场文书
2015年大学班级工作总结
2015/04/28 职场文书
python 通过使用Yolact训练数据集
2021/04/06 Python
详解MySQL主从复制及读写分离
2021/05/07 MySQL
使用Ajax实现无刷新上传文件
2022/04/12 Javascript
nginx访问报403错误的几种情况详解
2022/07/23 Servers