作者:AI写手
时间:2022/07/25
在 ES8 中,JavaScript 新增了一个数组方法 Array.prototype.includes()
。该方法可以在数组中查找指定元素,如果找到了就返回 true,没找到就返回 false。该方法使用非常灵活,是前端开发中常用的方法之一。
本文将详细介绍 Array.prototype.includes()
方法的用法和使用场景,并提供一些示例代码进行说明。
语法和参数
Array.prototype.includes()
方法的语法如下:
array.includes(searchElement, fromIndex)
其中:
array
:必须。要进行查找的数组。searchElement
:必须。要查找的元素。fromIndex
:可选。从哪个索引开始查找。默认值为 0。
如果 searchElement
存在于数组 array
中,该方法返回 true。否则返回 false。
fromIndex
的默认值是 0,表示从头到尾查找。如果需要从特定位置开始查找,可以指定 fromIndex
的值。如果 fromIndex
大于等于数组长度,方法将立即返回 false。如果 fromIndex
是负数,则表示从数组末尾位置开始计算。
示例代码
下面是几个示例代码,用于说明 Array.prototype.includes()
的用法和使用场景。
查找字符串
在下面的示例中,我们查找一个字符串是否存在于一个数组中。
const arr = ['apple', 'banana', 'orange']; const found = arr.includes('banana'); if (found) { console.log('banana exists in arr.'); } else { console.log('banana does not exist in arr.'); }
输出结果为:
banana exists in arr.
查找对象
在下面的示例中,我们查找一个对象是否存在于一个数组中。
const arr = [ { id: 1, name: 'apple' }, { id: 2, name: 'banana' }, { id: 3, name: 'orange' } ]; const obj = { id: 2, name: 'banana' }; const found = arr.includes(obj); if (found) { console.log('Object exists in arr.'); } else { console.log('Object does not exist in arr.'); }
输出结果为:
Object exists in arr.
从指定位置开始查找
在下面的示例中,我们从指定位置开始查找一个元素是否存在于一个数组中。
const arr = [1, 2, 3, 4, 5]; const found = arr.includes(3, 2); if (found) { console.log('Element exists in arr.'); } else { console.log('Element does not exist in arr.'); }
输出结果为:
Element exists in arr.
使用场景
Array.prototype.includes()
方法在以下情况下非常有用:
- 检查数组中是否包含特定的元素。
- 检查一个对象是否存在于一个对象数组中。
- 检查对象数组是否包含特定的对象。
- 检查一个字符串是否存在于一个字符串数组中。
- 检查数字是否存在于一个数字数组中。
- 检查从指定位置开始的元素是否存在于一个数组中。
如果需要使用更复杂的过滤条件,可以使用 Array.prototype.filter()
方法。
总结
Array.prototype.includes()
方法是 ES8 中重要的语言特性之一,可以快速有效地查找指定元素,避免了使用原始方法进行遍历和比较的复杂操作。该方法的语法简单明了,使用灵活方便,是前端开发中必备的方法之一。在实际的开发中,可以根据需要灵活运用该方法,提高代码的效率和质量。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/65a89e4fadd4f0e0ff1c7642