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 相关文章推荐
让人印象深刻的10个jQuery手风琴效果应用
May 08 Javascript
把input初始值不写value的具体实现方法
Jul 04 Javascript
javascript完美拖拽的实现方法
Sep 29 Javascript
AngularJS HTML编译器介绍
Dec 06 Javascript
基于dropdown.js实现的两款美观大气的二级导航菜单
Sep 02 Javascript
Node.js操作Firebird数据库教程
Mar 04 Javascript
Bootstrap企业网站实战项目4
Oct 14 Javascript
JavaScript基本语法_动力节点Java学院整理
Jun 26 Javascript
Node.js log4js日志管理详解
Jul 31 Javascript
vue如何截取字符串
May 06 Javascript
vue+express+jwt持久化登录的方法
Jun 14 Javascript
vue element upload实现图片本地预览
Aug 20 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学习之PHP变量
2006/10/09 PHP
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
Mysql中分页查询的两个解决方法比较
2013/05/02 PHP
php pdo操作数据库示例
2017/03/10 PHP
php+jQuery实现的三级导航栏下拉菜单显示效果
2017/08/10 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
phpStudy vscode 搭建debug调试的教程详解
2020/07/28 PHP
Javascript里使用Dom操作Xml
2007/01/22 Javascript
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
jQuery对象[0]是什么含义?
2010/07/31 Javascript
javascript获取隐藏dom的宽高 具体实现
2013/07/14 Javascript
查找iframe里元素的方法可传参
2013/09/11 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
2013/12/02 Javascript
ExtJS的拖拽效果示例
2013/12/09 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
基于jquery的手风琴图片展示效果实现方法
2014/12/16 Javascript
表单验证插件Validation应用的实例讲解
2015/10/10 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
jQuery实现图片向左向右切换效果的简单实例
2016/05/18 Javascript
js控制一个按钮是否可点击(可使用)disabled的实例
2017/02/14 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
layui使用button按钮 点击出现弹层 弹层中加载表单的实例
2019/09/04 Javascript
Python实现针对json中某个关键字段进行排序操作示例
2018/12/25 Python
python3.8与pyinstaller冲突问题的快速解决方法
2020/01/16 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
写出一个方法实现冒泡排序
2016/07/08 面试题
初中生学习生活的自我评价
2013/11/20 职场文书
最美家庭活动方案
2014/08/31 职场文书
2014最新版群众路线四风整改措施
2014/09/24 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
乡镇干部学习心得体会
2016/01/23 职场文书
2016年中学法制宣传日活动总结
2016/04/01 职场文书
Python数据类型最全知识总结
2021/05/31 Python
TV动画《间谍过家家》公开PV
2022/03/20 日漫
ICOM R71E和R72E图文对比解说
2022/04/07 无线电