假设我们有一个多维对象数组,每个对象都有一个名字和年龄属性:
```javascript
const people = [
{ name: 'Alice', age: 25 },
{ name: 'Bob', age: 30 },
{ name: 'Charlie', age: 35 },
{ name: 'David', age: 40 }
];
```
现在我们想要查找年龄大于等于 35 的人的名字。可以使用 `Array.prototype.find()` 方法来实现:
```javascript
const person = people.find(p => p.age >= 35);
if (person) {
console.log(person.name); // 输出 "Charlie"
}
```
这里的 `p => p.age >= 35` 是一个箭头函数,它接收一个参数 `p`,表示数组中的每个元素。箭头函数的返回值是一个布尔值,表示该元素是否符合条件。如果符合条件,则 `Array.prototype.find()` 方法会返回该元素,否则返回 `undefined`。
如果我们想要查找所有年龄大于等于 35 的人的名字,可以使用 `Array.prototype.filter()` 方法:
```javascript
const peopleOver35 = people.filter(p => p.age >= 35);
const namesOver35 = peopleOver35.map(p => p.name);
console.log(namesOver35); // 输出 ["Charlie", "David"]
```
这里的 `p => p.age >= 35` 和上面的例子一样,只不过这次我们使用了 `Array.prototype.filter()` 方法来筛选出符合条件的元素,并使用 `Array.prototype.map()` 方法将其转换为一个名字数组。