方式:1、运用for句子遍历数组,将数组元素和特定值进行对比,相同则存有;2、应用indexOf方式,假如原素存在二维数组中则回到下数值,不会有则回到“-1”;3、运用inArray()方式,假如原素存有则回到下数值,不会有则回到“-1”。
本实例教程作业环境:windows7系统软件、javascript1.8.5&&jquery1.10.2版、Dell G3计算机。
js中存在一个二维数组,怎么判断一个元素是不是存在这一二维数组中呢,关键在于根据周而复始的方法分辨,编码如下所示:
var arr = ['a','s','d','f'];
console.info(isInArray(arr,'a'));//周而复始的方法
/**
* 应用周而复始的方法判断一个原素是不是存在一个二维数组中
* @param {Object} arr 二维数组
* @param {Object} value 原素值
*/
function isInArray(arr,value){
for(var i = 0; i < arr.length; i ){
if(value === arr[i]){
return true;
}
}
return false;
}
这种方法还是比较通用性的一种方式,但需要自己写函数公式,下边看一下第二种方法:
var arr = ['a','s','d','f'];
console.info(arr.indexOf('a'));//在IE一些版本号当中适用,可以自己拓展
这种方法是直接用二维数组的indexOf方式来判定,假如原素存在二维数组中,那样回到原素在二维数组里的下数值,假如不存有,那样回到-1,留意indexOf是区分大小写的,英文字母O必不可少英文大写,要不然会出错的,此外,此方法在一些版本IE里是失灵的,因而使用前需要做一下分辨,修订后的编码如下所示:
/**
* 应用indexOf分辨原素是不是存在二维数组中
* @param {Object} arr 二维数组
* @param {Object} value 原素值
*/
function isInArray3(arr,value){
if(arr.indexOf&&typeof(arr.indexOf)=='function'){
var index = arr.indexOf(value);
if(index >= 0){
return true;
}
}
return false;
}
第三种方法,就是使用jquery的inArray方式,此方法回到原素在二维数组里的字符,假如不存有与二维数组中,那样回到-1,编码如下所示:
/**
* 应用jquery的inArray方式分辨原素是不是存在二维数组中
* @param {Object} arr 二维数组
* @param {Object} value 原素值
*/
function isInArray2(arr,value){
var index = $.inArray(value,arr);
if(index >= 0){
return true;
}
return false;
}
这种方法可用于删掉一个二维数组里的不明下数值元素,编码如下所示:
var arr = ['a','s','d','f'];
console.info("删除元素以前的二维数组:" arr);
arr.splice($.inArray('a',arr),1);
console.info("删除元素以后的二维数组:" arr);
执行结果是:
[Web电脑浏览器] "删除元素以前的二维数组:a,s,d,f" /test/index.html (12)
[Web电脑浏览器] "删除元素以后的二维数组:s,d,f" /test/index.html (14)
【相关信息:javascript学习教程】
以上就是关于javascript如何判断值是不是在二维数组里的具体内容,大量欢迎关注AdminJS其他类似文章!