猿问

如何检查某个成员是否在一个数组内?

如何判断某个成员是否在数组内呢?
目前搜集了两种方法

  1. 自制的check方法,部署在Array.prototype对象上

Array.prototype.check =  function(ele){    var i, l = this.length, res = false;    for(i = 0; i < l; i++){
        ele === this[i]?res = true:void 0;
    }    return res;
}
  1. 聪明一些的方法(别人想出来的),将数组转换为string再用indexOf判断
    arr.toString().indexOf(num)===-1?console.log('not in'):console.log('in');

有没有更好一点的方法呢?


慕桂英3389331
浏览 549回答 1
1回答

qq_花开花谢_0

数组本身就有indexOf()方法(ES5)和includes()方法(ES7)。另外,你说的那个聪明的方法是有问题的。比如有个数组:var&nbsp;arr&nbsp;=&nbsp;[12,&nbsp;345,&nbsp;67,&nbsp;890];你用那个聪明的方法测一下数字45和8在不在数组中试试。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答