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

Stella981
• 阅读 403

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
点赞
收藏
评论区
推荐文章
刚刚好 刚刚好
5个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
晴空闲云 晴空闲云
5个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
5个月前
快速入门|使用MemFire Cloud构建React Native应用程序
MemFireCloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Wesley13 Wesley13
1年前
JS 获取数组某个元素下标 函数方法
/获取某个元素下标arrays:传入的数组obj:需要获取下标的元素/functioncontains(arrays,obj){variarrays.length;w
Stella981 Stella981
1年前
217. Contains Duplicate
217\.ContainsDuplicateGivenanarrayofintegers,findifthearraycontainsanyduplicates.Yourfunctionshouldreturntrueifanyvalueappearsatleasttwiceinthearr
Stella981 Stella981
1年前
JavaScript Array some() 方法
JavaScriptArraysome()方法实例检测数组中是否有元素大于18:varages\3,10,18,20\;functioncheckAdult(age){   returnage18;}func
可莉 可莉
1年前
217. Contains Duplicate
217\.ContainsDuplicateGivenanarrayofintegers,findifthearraycontainsanyduplicates.Yourfunctionshouldreturntrueifanyvalueappearsatleasttwiceinthearr
Wesley13 Wesley13
1年前
java反射Array的使用
1.什么是ArrayArray是一个类的简写,全限定类名是java.lang.reflect.Array.2.Array有什么用Array可以代表所有的数组,可以通过Array动态创建与修改里面的元素.3.Array使用示例(1)创建使用静态方法newI
Stella981 Stella981
1年前
JavaScript join() 方法
JavaScriptArray对象(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.w3school.com.cn%2Fjsref%2Fjsref_obj_array.asp)定义和用法join()方法用于把数组中的所有元素放入一个字符串。元素是通过指
helloworld_28799839 helloworld_28799839
5个月前
常用知识整理
Javascript判断对象是否为空jsObject.keys(myObject).length0经常使用的三元运算我们经常遇到处理表格列状态字段如status的时候可以用到vue