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的动态创建表格的插件
Apr 05 Javascript
jquery一般方法介绍 入门参考
Jun 21 Javascript
有关JavaScript的10个怪癖和秘密分享
Aug 28 Javascript
jQuery内部原理和实现方式浅析
Feb 03 Javascript
javascript基础语法——全面理解变量和标识符
Jun 02 Javascript
express文件上传中间件Multer详解
Oct 24 Javascript
js实现自定义进度条效果
Mar 15 Javascript
Vue框架中正确引入JS库的方法介绍
Jul 30 Javascript
JavaScript学习总结(一) ECMAScript、BOM、DOM(核心、浏览器对象模型与文档对象模型)
Jan 07 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
May 13 Javascript
微信小程序搭建(mpvue+mpvue-weui+fly.js)的详细步骤
Sep 18 Javascript
js实现简易计算器小功能
Nov 18 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
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
优化使用mysql存储session的php代码
2008/01/10 PHP
php页面防重复提交方法总结
2013/11/25 PHP
PHP中Header使用的HTTP协议及常用方法小结
2014/11/04 PHP
PHP支付系统设计与典型案例分享
2016/08/02 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
jQuery Ajax异步处理Json数据详解
2013/11/05 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
js模拟hashtable的简单实例
2014/03/06 Javascript
JavaScript清空数组元素的两种方法简单比较
2015/07/10 Javascript
js实现文件上传表单域美化特效
2015/11/02 Javascript
值得分享的Bootstrap Ace模板实现菜单和Tab页效果
2015/12/30 Javascript
jQuery图片轮播(二)利用构造函数和原型创建对象以实现继承
2016/12/06 Javascript
浅谈js中同名函数和同名变量的执行问题
2017/02/12 Javascript
微信小程序实现缓存根据不同的id来进行设置和读取缓存
2017/06/12 Javascript
对angular 实时更新模板视图的方法$apply详解
2018/10/09 Javascript
JavaScript使用表单元素验证表单的示例代码
2019/08/20 Javascript
javascript代码实现简易计算器
2021/01/25 Javascript
Python实现读取并保存文件的类
2017/05/11 Python
python爬虫 线程池创建并获取文件代码实例
2019/09/28 Python
jenkins配置python脚本定时任务过程图解
2019/10/29 Python
Python爬虫爬取电影票房数据及图表展示操作示例
2020/03/27 Python
HTML5新增元素如何兼容旧浏览器有哪些方法
2014/05/09 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
瑞典廉价机票预订网站:Seat24
2018/06/19 全球购物
ESDlife健康生活易:身体检查预订、搜寻及比较
2019/05/10 全球购物
幼儿园春季开学寄语
2014/04/03 职场文书
我爱家乡演讲稿
2014/09/12 职场文书
党员查摆四风问题思想汇报
2014/10/25 职场文书
2014年乡镇党建工作总结
2014/11/11 职场文书
2014年发展党员工作总结
2014/11/12 职场文书
工作失误检讨书
2015/01/26 职场文书
学生不参加考试检讨书
2015/02/19 职场文书
Vue中Object.assign清空数据报错的解决方案
2022/03/03 Vue.js