-
常规的查找
-
1、indexOf
- api:array.indexOf(item,start)
- start 可选,表示有效的匹配范围
- 返回要查找的元素在数组中的位置,如果没找到则返回-1
- 这个真是个万年好有的及其兼容的方法
[1,2,3,4].indexOf(ele) >= 0 - api:array.indexOf(item,start)
-
2、includes
- api:array.includes(item,start)
- start 可选,表示有效的匹配范围
- 是否至少找到一个与指定元素匹配的项
- 返回布尔值,找到返回true,一个都找不到返回false
- es7 新增方法,特别老的浏览器可以通过pollify解决
[1,2,3,4].includes(ele) - api:array.includes(item,start)
-
3、注意indexOf和includes在执行时都是使用的全量相等判断符【===】来判断的
var child={name:'zhangsan'} var person1=[{name:'zhangsan'}] var preson2=[child] // 全量相等来判断 person1.indexOf(child) // -1 person2.indexOf(child) // 0 person1.includes(child)//false person2.includes(child)//true
-
-
规则性的查找
-
4、every
- api:arr.every(callback(element[, index[, array]])[, thisArg])
- 检测数组的每一项是否都符合要求,都符合返回true,有一项不符合返回false
- es7 新增方法,特别老的浏览器可以通过pollify解决
[1,2,3,4,5,6,7].every(item=>item>1)//false -
5、some
- api:arr.some(callback(element[, index[, array]])[, thisArg])
- 检测数组的每一项是否都符合要求,如果有一项符合返回true,都不符合返回false
- es7 新增方法,特别老的浏览器可以通过pollify解决
[1,2,3,4,5,6,7].some(item=>item>6)//true
-