在 ECMAScript 2016 中,新增了 Array.prototype.find() 和 Array.prototype.findIndex() 方法,这两个方法使得在数组中查找元素变得更加方便快捷。本文将介绍这两个方法的用法,以及它们的指导意义和示例代码。
Array.prototype.find()
Array.prototype.find() 方法用来查找数组中第一个符合条件的元素,并返回该元素。它的语法如下:
array.find(callback[, thisArg])
其中,callback 是一个函数,可以接收以下三个参数:
- currentValue:当前遍历的元素。
- index:当前遍历元素的索引。
- array:被遍历的数组。
thisArg 是可选参数,指定 callback 函数中 this 的值。
Array.prototype.find() 方法会从数组的第一个元素开始查找,一旦找到符合条件的元素就会立即返回该元素,不会再继续查找。
下面是一个使用 Array.prototype.find() 方法查找数组中第一个大于 10 的元素的示例:
const arr = [2, 5, 8, 11, 15, 18]; const result = arr.find((num) => num > 10); console.log(result); // 11
从上面的示例可以看出,使用起来非常简单,只需要将符合条件的判断逻辑传递给 callback 函数即可。
Array.prototype.findIndex()
Array.prototype.findIndex() 方法用来查找数组中第一个符合条件的元素,并返回该元素的索引。它的用法与 Array.prototype.find() 方法类似,只是它返回的是符合条件的元素在数组中的索引,如果找不到符合条件的元素,则返回 -1。
下面是一个使用 Array.prototype.findIndex() 方法查找数组中第一个大于 10 的元素的索引的示例:
const arr = [2, 5, 8, 11, 15, 18]; const index = arr.findIndex((num) => num > 10); console.log(index); // 3
从上面的示例可以看出,Array.prototype.findIndex() 方法的使用方法与 Array.prototype.find() 方法非常相似,只需要将要查找的元素的判断逻辑传递给 callback 函数即可。
指导意义
Array.prototype.find() 和 Array.prototype.findIndex() 方法的出现,使得在数组中查找元素变得更加方便和快捷。而且由于它们的语法非常简单清晰,因此非常容易上手。
在实际开发中,经常需要对数组进行查找操作,使用 Array.prototype.find() 和 Array.prototype.findIndex() 方法,可以大大提升代码的简洁性和可读性。
总结
本文介绍了 ECMAScript 2016 中的 Array.prototype.find() 和 Array.prototype.findIndex() 方法,这两个方法使得在数组中查找元素变得更加方便快捷。同时,它们的出现也体现了 ECMAScript 及 JavaScript 这门语言一直在不断地完善和发展。
示例代码:
// Array.prototype.find() const arr = [2, 5, 8, 11, 15, 18]; const result = arr.find((num) => num > 10); console.log(result); // 11 // Array.prototype.findIndex() const index = arr.findIndex((num) => num > 10); console.log(index); // 3
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f46921f6b2d6eab3d6fff4