目录
1、概述
-
- 1、概述
- 2、indexOf()代码示例
- 3、findIndex()代码
- 4、indexOf与findIndex的区别
- 5、indexOf与findIndex的相同点
- 6、相关链接
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)); // 13、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、相关链接源码实现