在 JavaScript 中,查询一个数组中是否包含某个元素通常需要使用 Array.indexOf()
方法,该方法返回元素在数组中的下标,如果不存在则返回 -1。不过在 ECMAScript 2016 中,新增了一个更加方便的方法:Array.includes()
。
使用 Array.includes() 方法
Array.includes()
方法用于判断一个数组是否包含某个元素,它的语法如下:
---------------------------- -----------
其中,valueToFind
是要查找的值,fromIndex
是可选的起始位置,默认值为 0。如果数组中包含该值,则返回 true
,否则返回 false
。
下面是一个示例:
----- ------ - --------- --------- ---------- --------------------------------------- -- ---- -------------------------------------- -- -----
与 Array.indexOf() 的比较
与 Array.indexOf()
方法相比,Array.includes()
更加简洁明了。使用 Array.indexOf()
方法时,需要判断返回值是否等于 -1,而 Array.includes()
方法直接返回布尔值。
下面是一个使用 Array.indexOf()
方法的示例:
----- ------ - --------- --------- ---------- -- ------------------------- --- --- - --------------- --------- - ---- - ---------------- --------- -
使用 Array.includes()
方法可以让代码更加简洁:
----- ------ - --------- --------- ---------- -- --------------------------- - --------------- --------- - ---- - ---------------- --------- -
使用 Array.includes() 的注意事项
需要注意的是,Array.includes()
方法是区分类型的。例如,如果数组中包含数值类型的元素 1,使用 '1'
作为参数调用该方法会返回 false
。因此,在使用该方法时需要注意类型的匹配。
另外,Array.includes()
方法在 IE 中不被支持,如果需要兼容旧版本的浏览器,需要使用 polyfill 进行兼容处理。
总结
Array.includes()
方法是 ECMAScript 2016 中新增的方法,用于判断一个数组中是否包含某个元素。与 Array.indexOf()
方法相比,它更加简洁明了,使用起来更加方便。在使用该方法时需要注意类型的匹配,以及对旧版本浏览器的兼容处理。
来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/658d45ffeb4cecbf2d339e1b