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