在 ES7 中,Array.prototype.includes 方法被引入,它用于确定一个数组是否包含一个特定的元素。本文将详细介绍 Array.prototype.includes 方法的使用方法、注意事项以及实际应用场景,让你有深入了解这个有用的方法。同时,我们还将提供一些示例代码,以帮助您更好地理解 Array.prototype.includes 方法。
语法
Array.prototype.includes 方法的语法如下:
array.includes(searchElement[, fromIndex])
其中,array 是要进行检索的数组,searchElement 是要查找的元素,fromIndex 是可选参数,表示开始检索的索引值。如果不指定 fromIndex,默认从数组的第一个元素开始搜索。如果查询到目标元素,返回 true,否则返回 false。
示例
检索字符串
const strArr = ['apple', 'banana', 'orange']; console.log(strArr.includes('orange')); // true console.log(strArr.includes('mango')); // false
检索数字
const numArr = [5, 10, 15, 20]; console.log(numArr.includes(15)); // true console.log(numArr.includes(25)); // false
检索对象
const objArr = [{ name: 'Alice' }, { name: 'Bob' }]; console.log(objArr.includes({ name: 'Alice' })); // false console.log(objArr.includes(objArr[0])); // true
在此示例中,第一个 console.log 会返回 false,因为 Array.prototype.includes 方法无法确定两个对象是否相等,即使它们具有相同的属性和值。相反,如果从相同的数组对象中检索对象,返回值是 true,即 fromIndex 参数被用来检索相同对象的数组。
注意事项
如果您需要搜索的元素是 undefined,Array.prototype.includes 方法不能正常工作。请使用 Array.prototype.indexOf 方法代替。
对象不具有相等性,即使它们具有相同的属性和值,也是两个不同的对象。
实战案例
使用 Array.prototype.includes 方法在字符串中查找子字符串:
const myString = 'Learn JavaScript with Codecademy'; const searchText = 'JavaScript'; if (myString.includes(searchText)) { console.log(`Found "${searchText}" in string!`); } else { console.log(`"${searchText}" not found in string.`); }
总结
在本文中,我们详细介绍了 Array.prototype.includes 方法的语法和使用方法,并提供了几个示例,让你更好地理解这个方法。此外,我们还介绍了一些要点和不足之处,以及一个实际的应用场景。此方法是一个简单易用的替代方法,可以让你更好地编写 JavaScript 代码,并减少代码发生错误的机会。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6490070548841e9894e2e3b1