视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
javascript中判断一个值是否在数组中并没有直接使用_基础知识
2020-11-27 21:06:01 责编:小采
文档


在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;iif(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;iif(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;iif(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;
}

下载本文
显示全文
专题