JavaScript中判断数组是否包含某个元素

Stella981
• 阅读 530

javascript的Array没有contains方法,有时候这会不方便,contains方法实现很简单

可以扩展Array类,如下:

写法1.
Array.prototype.contains = function(obj) {
    var i = this.length;
    while (i--) {
        if (this[i] === obj) {
            return true;
        }
    }
    return false;
}
写法2.
Array.prototype.contains = function (element) {
    for (var i = 0; i < this.length; i++) {
        if (this[i] == element) {
            return true;
        }
    }
    return false;
}

或者是定义函数:

function contains(a, obj){
  for(var i = 0; i < a.length; i++) {
    if(a[i] === obj){
      return true;
    }
  }
  return false;
}

这样就可以方便的使用contains方法了:

console.info([1, 2, 3].contains(2)); // => true,调用Array的扩展方法
console.info([1, 2, 3].contains('2')); // => false
console.info(contains([1, 2, 3],2));//true,调用自定义函数contains方法
console.info(contains([1, 2, 3],'2'));//false
点赞
收藏
评论区
推荐文章
Wesley13 Wesley13
2年前
java反射Array的使用
1.什么是ArrayArray是一个类的简写,全限定类名是java.lang.reflect.Array.2.Array有什么用Array可以代表所有的数组,可以通过Array动态创建与修改里面的元素.3.Array使用示例(1)创建使用静态方法newI
Wesley13 Wesley13
2年前
java.util.Arrays,java.lang.Math,java.lang.System 类的常用方法汇总
java.util.Arrays类是数组的工具类,一般数组常用的方法包括二分查找:publicstaticint binarySearch(array\\,intkey),返回key的下标index扩容缩容:publicstaticint\\ copyOf(array\\,newLength),返回新数组取部分:publ
Stella981 Stella981
2年前
JavaScript Array some() 方法
JavaScriptArraysome()方法实例检测数组中是否有元素大于18:varages\3,10,18,20\;functioncheckAdult(age){   returnage18;}func
Wesley13 Wesley13
2年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
2年前
269个JavaScript工具函数,助你提升工作效率(6)
!269个JavaScript工具函数,助你提升工作效率.png(https://static.oschina.net/uploads/img/202009/11172428_tWo3.jpg)151.数组中某元素出现的次数/@param{array}arr@param{}va
Wesley13 Wesley13
2年前
PHP高性能编程
1.能用PHP数组完成的工作,绝不用文件形式来代替,数组是内存操作,内存操作速度对比文件操作快很多!2.判断一个数值是否在一个数组中,然后决定是否追加数组内容时,不推荐使用in\_array或者array\_key\_exists,因为函数判断都不如isset结构判断来的快!$num0;$resultar
Stella981 Stella981
2年前
Javascript数组系列一之栈与队列
所谓数组(英语:Array),是有序的元素序列。若将有限个类型相同的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的分量,也称为数组的元素,有时也称为下标变量。---百度百科简单理解,数组就是数据的有序列表。Array在Javascript中属于最常用的数据类型之一了,与其它语言一样Javascript中的数
Stella981 Stella981
2年前
JavaScript join() 方法
JavaScriptArray对象(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.w3school.com.cn%2Fjsref%2Fjsref_obj_array.asp)定义和用法join()方法用于把数组中的所有元素放入一个字符串。元素是通过指
达里尔 达里尔
4个月前
给数组添加新数据,判断数据是否重复
多选要进行数组拼接,希望判断往原数组里添的新数据是否重复,封装个简易方法languageconstdataArrayname:'aaa',id:1,name:'bbb',id:2;constnewDataname:'ccc',id:2;//要添加的新数
小万哥 小万哥
21小时前
NumPy 数组创建方法与索引访问详解
NumPy创建数组NumPy中的核心数据结构是ndarray,它代表多维数组。NumPy提供了多种方法来创建ndarray对象,包括:使用array()函数array()函数是最常用的方法之一,它可以将Python列表、元组甚至其他数组转换为ndarray