在 ES7 中,新增了一个非常实用的数组方法:Array.prototype.includes()。本文将详细介绍这个方法的用法和使用场景,并提供一些示例代码供读者参考。
方法介绍
Array.prototype.includes() 方法用于判断一个数组是否包含某个指定的元素,返回一个布尔值。它的语法如下:
array.includes(searchElement[, fromIndex])
其中,searchElement 表示要查找的元素,fromIndex 是可选的,表示开始查找的位置,默认值为 0。
如果数组中包含指定的元素,则返回 true,否则返回 false。
使用示例
下面是一些使用 Array.prototype.includes() 方法的示例:
示例 1:查找元素是否在数组中
let arr = [1, 2, 3, 4, 5]; let result = arr.includes(3); console.log(result); // true
示例 2:从指定位置开始查找元素
let arr = [1, 2, 3, 4, 5]; let result = arr.includes(3, 2); console.log(result); // true
示例 3:查找不包含的元素
let arr = [1, 2, 3, 4, 5]; let result = arr.includes(6); console.log(result); // false
示例 4:使用 includes() 实现 indexOf() 功能
let arr = [1, 2, 3, 4, 5]; let index = arr.indexOf(3); console.log(index); // 2 let result = arr.includes(3); console.log(result); // true
使用场景
Array.prototype.includes() 方法可以用于很多场景,下面介绍一些常见的使用场景。
场景 1:判断数组中是否包含某个元素
使用 Array.prototype.includes() 方法可以很方便地判断一个数组中是否包含某个元素,无需使用 indexOf() 方法。
let arr = [1, 2, 3, 4, 5]; if (arr.includes(3)) { console.log('数组中包含 3'); }
场景 2:判断字符串中是否包含某个子串
可以将字符串转换为数组,然后使用 Array.prototype.includes() 方法判断是否包含某个子串。
let str = 'hello world'; if (str.split(' ').includes('world')) { console.log('字符串中包含 world'); }
场景 3:判断对象数组中是否包含某个对象
可以使用 Array.prototype.some() 方法和箭头函数来实现。
let arr = [{name: 'Tom', age: 18}, {name: 'Jack', age: 20}, {name: 'Lucy', age: 22}]; if (arr.some(item => item.name === 'Tom')) { console.log('对象数组中包含 name 为 Tom 的对象'); }
总结
Array.prototype.includes() 方法是一个非常实用的数组方法,可以用于判断数组中是否包含某个元素,也可以用于判断字符串中是否包含某个子串,以及判断对象数组中是否包含某个对象。在实际开发中,我们可以根据具体的需求来灵活运用这个方法。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6583cfd4d2f5e1655de9a3a4