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 相关文章推荐
Code:loadScript( )加载js的功能函数
Feb 02 Javascript
json对象转字符串如何实现
Dec 02 Javascript
漂亮的jquery提示效果(仿腾讯弹出层)
Feb 05 Javascript
js使用正则实现ReplaceAll全部替换的方法
Aug 22 Javascript
JS实现淡蓝色简洁竖向Tab点击切换效果
Oct 06 Javascript
深入解析JavaScript框架Backbone.js中的事件机制
Feb 14 Javascript
Vue 过渡(动画)transition组件案例详解
Jan 22 Javascript
JS设计模式之单例模式(一)
Sep 29 Javascript
实例解析Vue.js下载方式及基本概念
May 11 Javascript
js实现鼠标拖拽缩放div实例代码
Mar 25 Javascript
Vue js 的生命周期(看了就懂)(推荐)
Mar 29 Javascript
解决$store.getters调用不执行的问题
Nov 08 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
一个用于MySQL的PHP XML类
2006/10/09 PHP
php实现的简单日志写入函数
2015/03/31 PHP
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
jquery模拟LCD 时钟的html文件源代码
2014/06/16 Javascript
JavaScript基础篇(6)之函数表达式闭包
2015/12/11 Javascript
jQuery操作iframe中js函数的方法小结
2016/07/06 Javascript
JavaScript中的冒泡排序法
2016/08/03 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
基于jquery实现五星好评
2017/11/18 jQuery
微信小程序自定义底部弹出框
2020/11/16 Javascript
JS apply用法总结和使用场景实例分析
2020/03/14 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[55:39]DOTA2-DPC中国联赛 正赛 VG vs LBZS BO3 第二场 1月19日
2021/03/11 DOTA
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Flask的图形化管理界面搭建框架Flask-Admin的使用教程
2016/06/13 Python
python的Crypto模块实现AES加密实例代码
2018/01/22 Python
浅谈django orm 优化
2018/08/18 Python
Python PyAutoGUI模块控制鼠标和键盘实现自动化任务详解
2018/09/04 Python
Python实现计算文件MD5和SHA1的方法示例
2019/06/11 Python
Python操作SQLite数据库过程解析
2019/09/02 Python
关于Numpy数据类型对象(dtype)使用详解
2019/11/27 Python
Python3.7.0 Shell添加清屏快捷键的实现示例
2020/03/23 Python
python实现猜数游戏(保存游戏记录)
2020/06/22 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
爱尔兰旅游网站:ebookers.ie
2020/01/24 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
大学生求职信范文应怎么写
2014/01/01 职场文书
优秀学生事迹材料
2014/02/08 职场文书
客运企业隐患排查工作方案
2014/06/06 职场文书
高中团支书竞选稿
2015/11/21 职场文书
领导干部学习十八届五中全会精神心得体会
2016/01/05 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
css之clearfix的用法深入理解(必看篇)
2023/05/21 HTML / CSS