Array.prototype.includes 方法是 ECMAScript2016 (ES7) 引入的新特性,它允许我们更便捷地判断一个数组中是否存在某个元素。在本文中,我们将深入介绍 Array.prototype.includes 的使用方法,以及它的指导意义。
语法
Array.prototype.includes 方法有两个参数:要搜索的元素和开始搜索的位置。如果只传入第一个参数,则默认从数组的第一个元素开始进行搜索:
arr.includes(searchElement[, fromIndex])
其中 searchElement
是要搜索的元素,fromIndex
是可选的搜索起始位置,默认值为 0。
如果 fromIndex
大于等于数组长度,返回 false。如果 fromIndex
是负数,则表示从数组末尾开始搜索。如果 Math.abs(fromIndex)
大于等于数组长度,则会默认使用整个数组进行搜索。
示例
下面是一些示例代码,演示了如何利用 includes 方法在数组中搜索元素:
[1, 2, 3].includes(2); // true [1, 2, 3].includes(4); // false [1, 2, NaN].includes(NaN); // true [1, 2, 3].includes(3, 3); // false [1, 2, 3].includes(3, -1); // true
以上代码演示了不同情况下的搜索结果,其中包括了 NaN 和负数的示例。
指导意义
- 简化判断数组包含某个元素的代码。
在 ES6 中,判断某个数组是否包含某个元素通常需要使用 indexOf 方法。使用 includes 方法可以更为简洁地实现这一操作。
例如:
if (arr.indexOf(value) !== -1) { // 存在 } if (arr.includes(value)) { // 存在 }
- 提高代码可读性。
includes 方法更符合我们对代码的自然语言表达习惯。使用该方法的代码更容易理解和维护。
可替代的方法
includes 方法可替代的方法是 indexOf 方法,该方法同样可用于搜索元素是否在数组中。但是 includes 方法更加语义化、简洁易懂,同时搜索 NaN 时,indexOf 方法无法正确判断结果。
总结
Array.prototype.includes 方法是 ES7 引入的新特性,它极大地简化了判断元素是否包含在数组中的代码。在使用 includes 方法时,我们需要注意它的参数和语法。使用 includes 方法,能够提高我们的代码可读性,帮助我们更好地维护和改进项目。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/652a48447d4982a6ebc9b496