indexOf
const arr = [1, 2, 3, 4, 5, 1]
console.log(arr.indexOf(1, 0)) // 0
console.log(arr.indexOf(1, 1)) // 1
`indexOf 从数组开头查找 只能查找数组中简单数据类型 且返回对应元素的索引,如果没有则返回 -1, 如果存在多个相同只返回第一个`
`indexOf 提供两个参数`
`参数一 为需要查找的元素`
`参数二 为索引 从哪开始查找的索引 如果是 -1 则表示从末尾第一个开始查找 以此类型`
lastIndexOf
const arr = [1, 2, 3, 4, 5, 1]
console.log(arr.lastIndexOf(1)) // 5
console.log(arr.lastIndexOf(1, arr.length - 2)) // 0
`lastIndexOf 从数组末尾开始查找 只能查找数组中简单数据类型 且返回对应元素的索引,如果没有则返回 -1, 如果存在多个相同只返回第一个`
`lastIndexOf 提供两个参数`
`参数一 为需要查找的元素`
`参数二 为索引 默认为 数组的长度 - 1, 即数组的长度`
filter
const arr = [
{
name: '张三'
},
{
name: '李四'
}
]
const filterArr = arr.filter(e => e.name === '张三')
console.log(filterArr) // { name: '张三' }
`filter 通过回调函数的方式查找所有符合条件的数组元素, 如果找到则返回新数组,未找到返回空数组`
`可查找数组包裹的对象和数组包裹的简单数据类型`
find
const arr = [1, 2, 3, 4, 5, 1]
const arr2 = [
{
name: '张三'
},
{
name: '李四'
}
]
console.log(arr.find(e => e > 1)) // 2
console.log(arr.find(e => e.name === '张三')) // { name: '张三' }
`find 通过回调函数的方式查找符合条件的数组元素, 只返回符合条件的第一个元素, 为找到返回 undefined`
findIndex
const arr = [1, 2, 3, 4, 5, 1]
const arr2 = [
{
name: '张三'
},
{
name: '李四'
}
]
console.log(arr.findIndex(e => e > 1)) // 1
console.log(arr.findIndex(e => e.name === '张三')) // 0
`find 通过回调函数的方式查找符合条件的数组元素, 只返回符合条件的第一个元素的索引, 为找到返回 -1`
includes
const arr = [1, 2, 3, 4, 5, 1]
const arr2 = [
{
name: '张三'
}
]
console.log(arr.includes(1)) // true
`includes 判断数组中是否包含指定的值(简单数据类型) 如果有则返回 true 没有则false`
every
const arr = [1, 2, 3, 4, 5, 1]
const arr2 = [
{
name: '张三'
}
]
console.log(arr.every(e => e > 1)) // false
console.log(arr2.every(e => e.name === '张三')) // true
`every 通过回调函数的方式检测数组中的所有元素是否全都符合条件 返回 true 或 false `
some
const arr = [1, 2, 3, 4, 5, 1]
const arr2 = [
{
name: '张三'
}
]
console.log(arr.some(e => e > 1)) // true
console.log(arr2.some(e => e.name === '张三')) // true
`some 通过回调函数的方式检测数组是否存在有符合条件的元素 有一个就返回 true, 否则返回 false`