在 JavaScript 中,Array 对象是最常用的数据类型之一。ES7 在 Array.prototype 的基础上,新增了一个方法 includes
,方便开发人员判断一个元素是否包含在数组中。本文就来介绍这个新方法。
用法
includes
方法接受两个参数:第一个是要查找的元素,第二个是要开始查找的位置。如果第二个参数省略,则默认从数组的开头开始查找。
下面是一个示例:
const array = [1, 2, 3, 4]; console.log(array.includes(1)); // true console.log(array.includes(5)); // false
在第一个 console.log
中,includes
方法会返回 true
,因为 array
中包含值为 1
的元素。在第二个 console.log
中,includes
方法会返回 false
,因为 array
中不包含值为 5
的元素。
如果指定了第二个参数,includes
方法将从指定位置开始查找:
const array = [1, 2, 3, 4]; console.log(array.includes(1, 1)); // false console.log(array.includes(2, 1)); // true
在第一个 console.log
中,includes
方法从索引 1
开始查找,但是找到的第一个元素是 2
,所以返回 false
。在第二个 console.log
中,includes
方法从索引 1
开始查找,找到值为 2
的元素,因此返回 true
。
应用场景
includes
方法的应用场景很多,比如在处理用户输入时,需要判断输入的字符串是否包含在白名单中;在搜索功能中,用户输入的关键字是否匹配结果中的元素等。
在第一个场景中,可以使用 includes
方法来判断:
const whitelist = ['cat', 'dog', 'bird']; function checkInput(input) { return whitelist.includes(input); } console.log(checkInput('dog')); // true console.log(checkInput('fish')); // false
在第二个场景中,可以使用 includes
方法来判断输入的关键字是否包含在搜索结果中:
-- -------------------- ---- ------- ----- ------- - ------- ------ ------- -------- --------------- - ----- --------------- - --------------------- -- -------------------------- ------ ---------------- - ------------------------- -- ------- ------ ------------------------- -- -------
上述代码中,filter
方法使用 includes
方法来过滤结果中包含指定关键字的元素。
总结
ES7 的 includes
方法为 JavaScript 开发人员带来了很多便利,在判断一个元素是否包含在数组中时特别方便。读完本文,不妨尝试使用该方法来处理一些实际的问题,相信一定会事半功倍!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/651e1ff895b1f8cacd5cf427