ES7 中新增的数组方法:Array.prototype.includes,详解及案例

阅读时长 3 分钟读完

ES7 中新增的数组方法:Array.prototype.includes,详解及案例

ES7 中新增的 Array.prototype.includes() 方法能够方便地判断一个值是否存在于数组中。相比数组的 indexOf() 方法,它拥有更加直观、简洁的语法和更高的性能。

includes() 方法的语法

Array.includes(searchElement[, fromIndex])

  • searchElement:必需,要查找的元素值。
  • fromIndex(可选):从此索引处开始查找searchElement。默认为0。如果值为负数,则按升序从 array.length + fromIndex 的索引开始搜索。默认值为 0。

includes() 方法的返回值

如果数组中存在包含元素值的元素,则返回 true,否则返回 false。值得一提的是,对于 NaN 的判断,includes() 方法也会正常工作。

示例代码

-- -------------------- ---- -------
----- --- - --------- --------- ----------

------------------------------------ -- ----
---------------------------------- -- -----
--------------------------------- ---- -- -----
---------------------------------- ---- -- ----
---------------------------------- ----- -- ----

----- ------ - --- ---- ---

---------------------------------- -- ----

上述代码中,我们定义了一个包含字符串和数字的数组,然后使用了includes()方法进行查找。第一个 console.log() 语句返回 true,因为数组中存在值是 orange 的元素;第二个 console.log() 语句返回 false,因为数组中不存在值为 pear 的元素;第三个 console.log() 语句返回 false,因为从索引1处开始查找时,数组中不存在值为 apple 的元素;第四个 console.log() 语句返回 true,因为从索引1处开始查找时,数组中存在值为 orange 的元素;第五个 console.log() 语句返回 true,因为从索引-1处开始查找时,数组中存在值为 banana 的元素;最后一个 console.log() 语句返回 true,因为数组中存在 NaN 值的元素。

与 indexOf() 方法的对比

includes() 方法的优势在于语法简洁,同时其查找性能也比 indexOf() 方法更高。对于需要查找一组元素的流程,indexOf() 方法需要使用循环加一个递增的查找指针,而 includes() 方法则可以一次性完成查找。此外,includes() 方法对于查找 NaN 值也有了更好的支持。

总结

ES7 中新增的 Array.prototype.includes() 方法十分实用,能够提高代码的可读性和性能。学习前端开发者们需要掌握 includes() 方法的语法、返回值以及与 indexOf() 方法的对比。在实际开发中,熟练使用 includes() 方法能够更好地提高开发效率,编写出更加优美、高效的代码。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647c4416968c7c53b0760810

纠错
反馈