基础 js判断数组包含某个元素的方法有多少?一般可以用这些语法

indexOf()是找元素最常用的方法。
indexOf(值)返回值位置,不存在返回-1 判断是否包含,看返回值是否小于0。
起始位置默认0,从头开始找。
也可以用for循环,i从0到数组长度-1 some()会提前退出,适合条件满足即停。
但some()对NaN判断有问题,用find()更稳。
find()找第一个符合条件的,返回元素。
findIndex()找位置,找不到返回-1 你自己掂量。

web前端---6种JavaScript判断数组是否包含某个值的方法

哎哟,说起来检查数组这事儿,我真是深有感触。
记得有一次,我们那项目里有个需求,得检查一个用户列表里有没有某个人的名字。
那时候我就试了六种方法,每种方法都有它的脾气和个性。

先说最传统的循环吧,那是我第一次用,感觉挺原始的,就像小时候学骑自行车,得慢慢来。
代码是这样的:
javascript function contains(arr, value) { for (let i = 0; i < arr xss=clean> 然后是some和filter,那时候感觉这个some挺有意思的,就像玩游戏一样,找到目标就结束了。
不过filter我也用过,就是那种不管三七二十一,先筛选一遍再说的。

javascript function contains(arr, value) { return arr.some(item => item === value); }
indexOf那时候我也用过,感觉挺神奇的,好像有个神奇的指针指向那个值。
不过它对大小写敏感,得注意一下。

javascript function contains(arr, value) { return arr.indexOf(value) !== -1 ; }
后来我又用了includes,这个方法简洁,感觉就像直接问“在吗?”一样高效。

javascript function contains(arr, value) { return arr.includes(value); }
find这个方法我也喜欢,感觉它就像是一个侦探,找到目标就不再继续。

javascript function contains(arr, value) { return arr.find(item => item === value) !== undefined; }
最后,我还试了用Set,感觉就像给数组洗了个澡,去掉了重复的,检查起来也方便。

javascript function contains(arr, value) { const set = new Set(arr); return set.has(value); }
每种方法都有它的用武之地,具体用哪个得看项目需求和个人喜好。
我记得有一次,我们得处理一个特别大的数组,用Set那方法简直快得飞起。
不过,这块儿我也没碰过,不敢乱讲,哈哈。