菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
78
0

jquery怎么判断值是否在数组中?

原创
05/13 14:22
阅读数 1035

要判断数组中是否包含某个元素,从原理来来说,就是遍历整个数组,然后判断是否相等

Jquery方法

可以使用Jquery提供的方法:使用$.inArray()来判断。

inArray() 函数用于在数组中查找指定值,并返回它的索引值(如果没有找到,则返回-1)

$.inArray("元素(字符串)",数组名称)

当存在该元素(字符串)时,返回该元素在数组的下标,不存在时返回 -1

示例:

<!DOCTYPE>
<html>
<head>
<title>jquery判断值是否存在于数组中</title>
<meta charset="utf-8">
</head>
<body>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script>
//参数第一个为数组,第二个为需要判断是否存在于数组中的值
function isInArray(arr,val){
  var str = ","+arr.join(",")+",";
  if(str.indexOf(","+val+",") != "-1"){
    //该数存在于数组中
    arr.splice($.inArray(val,arr),1);  //把该数从数组中删除
    console.log(arr);
  }else{
    //该数不存在于数组中
    console.log("不存在");
  }
}
var arr = [1,28,60,80,6];
isInArray(arr,28);//存在,删除元素28
isInArray(arr,18);//不存在,提示“不存在”
</script>
</body>
</html>

效果图:

js方法

var arr = ["a", "b", "c"];
// js arr.indexOf("c")
var result1 = arr.indexOf("c"); //返回index为2

自定义方法

var arr = ["a", "b", "c"];
// 自定义 contains(arr, "c")方法
function contains(arr, obj) {
    //while
    var i = arr.length;
    while(i--) {
        if(arr[i] === obj) {
            return i;
        }
    }
    return -1;
}
var result1 = contains(arr, "c"); //返回index为2

发表评论

0/200
78 点赞
0 评论
收藏
为你推荐 换一批