Array.prototype.contains 已不再推荐使用,请使用 ES7 中的 Array.prototype.includes
在 JavaScript 中,数组是最常用的数据结构之一。在处理数组时,我们通常需要检查数组是否包含某个元素。在过去,我们可以使用 Array.prototype.contains
方法来实现此功能。但是,自从 ES7 发布以来,Array.prototype.includes
方法已经取代了 Array.prototype.contains
。在本文中,我们将讨论这一改变的原因,介绍 Array.prototype.includes
的使用方法,并提供示例代码。
为什么要使用 Array.prototype.includes?
在 ES7 之前,ECMAScript 标准没有定义提供基础数组操作的方法。开发者需要手工实现这些操作,以便在程序中正确处理数组。 Array.prototype.contains
是一个这样的手工实现,用于检查一个数组是否包含某个元素。
Array.prototype.contains = function(element) { return this.indexOf(element) > -1; }
虽然 Array.prototype.contains
方法是有效的,但它不是 ECMAScript 标准定义的一部分,因此可能会在某些浏览器或环境中不被支持或不被识别。此外,像 Array.prototype.contains
这样的自定义方法与默认方法的方式可能导致性能问题。
随着 ES7 横空出世,逐渐出现了一些新的功能,包括提供了一种更好的方式 - 使用 Array.prototype.includes
方法 - 来通过 ECMAScript 标准中提供的方法轻松检查数组中是否存在元素。
如何使用 Array.prototype.includes?
使用 Array.prototype.includes
方法可以更轻松地检查一个数组是否包含某个元素。它接受两个参数:一个是要搜索的元素,另一个是从哪个位置开始搜索(可选的)。
-- -------------------- ---- ------- ----- ------ - --- -- --- -------------------------------- -- -------- ------- ---- ----- ---- - ------- ------ ------- ---------------------------------- -- -------- ------- ---- --------------------------------- -- -------- ------- -----
如果 Array.prototype.includes
找到了它正在搜索的元素,它将返回 true
。如果未找到,则返回 false
。
示例代码
我们可以使用下面的示例代码来说明这个新方法的用法:
const arr = [1, 2, 3, 4]; console.log(arr.includes(3)); // true console.log(arr.includes(5)); // false
从这个示例可以看出,使用 Array.prototype.includes
方法比使用 Array.prototype.contains
更加简单,而且更符合 ECMAScript 标准,因此更健壮和可靠。
结论
在 ES7 中, Array.prototype.includes
方法成为了一个正式的 ECMAScript 标准。它提供了一个简单的方式来判断一个数组是否包含某个元素,而且更健壮和可靠。因此,如果你需要检查一个数组是否包含某个元素,请使用 Array.prototype.includes
方法,而不是 Array.prototype.contains
方法。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672b6bdeddd3a70eb6d2b504