您当前的位置: 首页 > 

暂无认证

  • 1浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

indexOf和findIndex的区别?

发布时间:2021-04-08 12:46:45 ,浏览量:1

目录
    • 1、概述
    • 2、indexOf()代码示例
    • 3、findIndex()代码
    • 4、indexOf与findIndex的区别
    • 5、indexOf与findIndex的相同点
    • 6、相关链接
1、概述

1.1、indexOf()方法返回在数组中可以找到一个给定元素的第一个索引(下标),如果不存在,返回-1。 1.2、findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引(下标),如果不存在,返回-1。

2、indexOf()代码示例
let dataA1 = ['王维', '范仲淹', '欧阳修', '李商隐', '孟浩然']; console.log(dataA1.indexOf('欧阳修')); // 2 let dataA2 = [ { sname: '陶渊明' }, { sname: '贺知章' } ]; console.log(dataA2.indexOf({ sname: '陶渊明' })); // -1 let variate = { sname: '岑参' }; console.log([{ sname: '龚自珍' }, variate].indexOf(variate)); // 1 
3、findIndex()代码
let dataArray = [ { id: 1, sname: '陆游', alias: '务观', nickname: '放翁' }, { id: 2, sname: '屈原', alias: '原', nickname: null }, { id: 3, sname: '王安石', alias: '介甫', nickname: '半山' } ]; console.log(dataArray[dataArray.findIndex((item) => item.id == 3)]); // {id: 3, sname: "王安石", alias: "介甫", nickname: "半山"} // 注意:普通函数写法记得加 return console.log(dataArray[dataArray.findIndex(function(item) { return item.id == 2; })]); // {id: 2, sname: "屈原", alias: "原", nickname: null} 
4、indexOf与findIndex的区别

1、indexOf: 查找值作为第一个参数,采用绝对相等(===)比较,更多的是用于查找基本类型的数据,如果是对象类型,则是判断是否是同一个对象的引用。 2、findIndex: 比较函数作为第一个参数,多用于非基本类型(例如对象)的数组索引查找,或查找条件很复杂。

5、indexOf与findIndex的相同点

indexOf与findIndex都是查找数组中满足条件的第一个元素的索引(下标)。

6、相关链接

源码实现

关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.3542s