随着 JavaScript 技术的不断发展,新的 ECMAScript 版本也接连推出,为前端开发带来了许多新的特性和语法糖。ES10 是其中较新的版本,其中的 Array.includes() 方法也是相较于以往版本新增的一个实用方法。
概述
Array.includes() 方法用于判断数组中是否包含某个特定的元素,如果包含则返回 true,否则返回 false,方法的语法如下:
array.includes(valueToFind[, fromIndex])
其中,valueToFind 表示需要查找的元素值,而 fromIndex 表示从数组的哪个索引位置开始查找,默认值为 0。该方法返回值为布尔值。
示例
下面是一个简单的使用数组的 includes() 方法的示例代码:
const arr = ["apple", "banana", "orange"]; const isContain = arr.includes("apple");
在上面的示例代码中,我们在数组 arr 中查找是否包含字符串 "apple",结果 isContain 为 true,因为数组 arr 中确实包含了字符串 "apple"。
注意事项
- Array.includes() 方法是严格比较元素值的,如果数组中包含一个对象,即使传入的参数与该对象有同样的值和数据类型,也不会返回 true,因为对象不是同一个引用。
const obj = {name: "Tom"}; const arr = [obj]; console.log(arr.includes({name: "Tom"})) // false
- Array.includes() 方法只能检查所属数组的元素,不能检查多维数组中的元素。但可以使用递归来实现多维数组元素的检查。
-- -------------------- ---- ------- ----- --- - ---- --- --- ---- ---------------------------- ---- -- ----- -------- --------------- ------ - ------ --------------- -- ------------------- - -------------- ------ - ---- --- ----- -- - ------------------------- --- ---- -- ----
- 在使用 includes() 方法时需要注意数组元素的数据类型,如果数组中包含数字类型,那么传入字符串类型的参数进行查找时会出现错误。因此推荐使用 indexOf() 方法,该方法会返回要查找元素的索引值,如果不存在则返回 -1。
const arr = [0, 1, 2]; console.log(arr.includes("1")) // false console.log(arr.indexOf("1") !== -1) // true
总结
在实际开发中,Array.includes() 方法是一个非常实用的数组操作方法,可以高效地判断数组中是否包含某个特定的元素。但是,在使用时需要注意数组元素的数据类型、对象的引用问题以及多维数组的检查等问题,以免出现错误。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64c5fcaa95c405902ee47136