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的固定表头和列头的代码
May 03 Javascript
jquery1.10给新增元素绑定事件的方法
Mar 06 Javascript
了不起的node.js读书笔记之node.js中的特性
Dec 22 Javascript
JS获取下拉框显示值和判断单选按钮的方法
Jul 09 Javascript
Angularjs中的事件广播 —全面解析$broadcast,$emit,$on
May 17 Javascript
bootstrap读书笔记之CSS组件(上)
Oct 17 Javascript
JS实现的RGB网页颜色在线取色器完整实例
Dec 21 Javascript
基于AGS JS开发自定义贴图图层
Mar 31 Javascript
JS判断微信扫码的方法
Aug 07 Javascript
vue.js element-ui validate中代码不执行问题解决方法
Dec 18 Javascript
解决Jquery下拉框数据动态获取的问题
Jan 25 jQuery
从理论角度讨论JavaScript闭包
Apr 03 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随机字符串生成代码(包括大小写字母)
2013/06/24 PHP
PHP数据过滤的方法
2013/10/30 PHP
PHP date()函数警告: It is not safe to rely on the system解决方法
2014/08/20 PHP
Smarty分页实现方法完整实例
2016/05/11 PHP
PHP自带方法验证邮箱、URL、IP是否合法的函数
2016/12/08 PHP
PHP+iframe模拟Ajax上传文件功能示例
2019/07/02 PHP
PHP终止脚本运行三种实现方法详解
2020/09/01 PHP
使用JavaScript实现Java的List功能(实例讲解)
2013/11/07 Javascript
JS拖拽组件学习使用
2016/01/19 Javascript
JS实现用户注册时获取短信验证码和倒计时功能
2016/10/27 Javascript
jQuery表格的维护和删除操作
2017/02/03 Javascript
关于TypeScript中import JSON的正确姿势详解
2017/07/25 Javascript
原生js获取left值和top值的三种方法
2017/08/02 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
弱类型语言javascript中 a,b 的运算实例小结
2019/08/07 Javascript
简单分析js中的this的原理
2019/08/31 Javascript
微信小程序8种数据通信的方式小结
2020/02/03 Javascript
Python模拟随机游走图形效果示例
2018/02/06 Python
Django中的Model操作表的实现
2018/07/24 Python
python for循环输入一个矩阵的实例
2018/11/14 Python
python 执行文件时额外参数获取的实例
2018/12/18 Python
解决python3中的requests解析中文页面出现乱码问题
2019/04/19 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Python实现像awk一样分割字符串
2020/09/15 Python
美国围栏公司:Walpole Outdoors
2019/11/19 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
给幼儿园老师的表扬信
2014/01/19 职场文书
九年级体育教学反思
2014/01/23 职场文书
保险专业大学生职业规划书
2014/03/03 职场文书
2014购房个人委托书范本
2014/10/12 职场文书
会议欢迎词
2015/01/23 职场文书
小学母亲节活动总结
2015/02/10 职场文书
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server
CSS3实现指纹特效代码
2022/03/17 HTML / CSS
Python Pygame实战在打砖块游戏的实现
2022/03/17 Python