方法一: indexOf (常用)
if (arr.indexOf(2) !== -1) { console.log("包含2") }
方法二: find() 该方法用于查找符合条件的第一个元素,如果找到了,返回这个元素,否则,返回undefined
if (arr.find(item =>item === 2)) { console.log("包含2") }
方法三: findIndex() 和find()类似,也是查找符合条件的第一个元素,不同之处在于findIndex()会返回这个元素的索引,如果没有找到,返回-1
if (arr.findIndex(item =>item === 2) !== -1) { console.log("包含2") }
方法四: some() 查找复合条件的元素, 如果查找到返回true, 反之false
if (arr.some(item =>item === 2) { console.log("包含2") }
方法五: 循环遍历 如map, forEach, if()等等, 此处只用forEach举例
aa.forEach(item =>{if (item === 2) {console.log("包含2")}})
所谓二分法查找法,也就是折半查找,它是一种在有序数组查找特定元素的搜索算法。
参考《前端程序员面试秘籍》
思想:从数组中开始查找,如果该元素是要搜索的目标元素,则循环结束,如果不是继续下一步,如果目标元素大于或者小于中间元素,则在数组大于或者小于中间元素的那一半区域进行查找,进而重复上面操作。如果数组是空的,则找不到该目标元素。