1、findIndex( ) 方法

findIndex方法常用来查找满足条件的第一项索引,找到了就返回该索引,找不到返回-1。

let arr = [1, 2, 3, 4, 5, 4, 3, 2, 5, 4 ]
 
let index = arr.findIndex(item => {
    return item > 5
})
console.log(index) // 4
 
// 也可以这么写
let index = arr.findIndex(item => item > 5)
 
console.log(index) // 4

注意:findIndex会对数组中的每一项执行一个函数来判断是否满足表达式,如果满足条件后,剩下的元素则不再执行。

2、find( )方法

find方法用来查找满足条件的第一项,找到了就返回那一项对应的值,找不到返回undefined。

    let arr = [
      {
        name: '测试1',
        id: 1
      },
      {
        name: '测试2',
        id: 2
      },
      {
        name: '测试3',
        id: 3
      }
    ]
 
    let value = arr.find(item => {
      return item.id === 20
    })
    
    // 还可以这么写
    let value = arr.find(item => item.id === 2)
    console.log(val)  
    // {
           name: '测试2',
           id: 2
       }

和findIndex一样,返回满足条件的值,并且不检测剩余值,只不过findIndex返回的是下标,find方法是返回满足条件的那一个元素,具体怎么使用看场景需要

注:两个方法都不会改变原数组

3、indexOf( )方法

indexOf方法可用来查找满足条件的第一项索引,找到了就返回该索引,找不到返回-1。
注:startIndex搜索的起始位置默认为0,可选

let arr = [1, 2, 3, 4];
console.log(arr.indexOf(2))   //1
console.log(arr.indexOf(2,2)) //-1
console.log(arr.indexOf(5))   //-1

4、includes( )方法

includes方法可用来判断一个数组是否包含一个指定的值,有则返回 true,没有则返回false。
也可以查找字符串中是否包含指定的子字符串。

    let arr = [1, 2, 3, 4];   //数组
    //或
    let arr = '1234';        //字符串
    console.log(arr.includes(2))   //true
	console.log(arr.includes(5))   //false

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐