# Array.find()和findIndex()方法
JavaScript的方法“遍历”从数组开始!先从简单的开始。。😂
Array.find()
和Array.findIndex()
的区别有两点:
- 前者是找值,后者是找索引;
- 前者找到则返回项,找不到返回
undefined
,后者找到返回项的索引,找不到则返回-1
。
它们的共同点:找到第一个符合条件的项就停止寻找。并且二者都不会改变原数组。
# 一、Array.find()
寻找第一个大于4的数
const array = [1, 2, 3, 4, 5, 6, 7];
let res = array.find(item => item > 4);
console.log(res);// 5
1
2
3
2
3
寻找第一个年龄大于25的成员
const allMembers = [
{name: '张三', age: 21},
{name: '李思', age: 19},
{name: '王武', age: 27},
{name: '赵柳', age: 32},
{name: '韩起', age: 20}
];
let res = allMembers.find(item => {
return item.age > 25;
});
console.log(res);// {name: "王武", age: 27}
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
# 二、Array.findIndex()
寻找第一个大于4的项的索引
const array = [1, 2, 3, 4, 5, 6, 7];
let res = array.findIndex(item => item > 4);
console.log(res);// 4
1
2
3
2
3
寻找第一个年龄大于25的成员的索引
const allMembers = [
{name: '张三', age: 21},
{name: '李思', age: 19},
{name: '王武', age: 27},
{name: '赵柳', age: 32},
{name: '韩起', age: 20}
];
let res = allMembers.findIndex(item => {
return item.age > 25;
});
console.log(res);// 2
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12