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`
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!