在编写 JavaScript 程序时,数组(Array)是一个经常用到的数据结构。ES10 中新增了一个数组方法:Array.includes,它可以方便地检查一个数组中是否存在某个元素。如果你还没有使用过 includes 方法,这篇文章将为你介绍它的详细用法和指导意义。
includes 方法的用法
includes 是一个数组的实例方法,可以用于检查数组中是否包含某个元素,如果包含则返回 true,否则返回 false。其语法如下:
array.includes(valueToFind[, fromIndex])
其中,第一个参数 valueToFind 是要查找的值;第二个参数 fromIndex 是可选的,表示开始查找的起始位置。如果省略 fromIndex,则默认从数组的首个元素开始查找。
在下面的示例代码中,我们使用 includes 方法检查一个数组中是否包含某个元素:
const array = [1, 2, 3, 4, 5]; console.log(array.includes(2)); // true console.log(array.includes(6)); // false
如果想从数组的第二个元素开始查找是否包含某个值,可以将 fromIndex 设置为 1:
const array = [1, 2, 3, 4, 5]; console.log(array.includes(2, 1)); // true console.log(array.includes(1, 1)); // false
includes 方法的指导意义
在编写 JavaScript 程序时,使用 includes 方法可以让代码更加简洁明了,并且可以提高代码的可读性和可维护性。
在之前的版本中,我们通常使用 indexOf 方法来检查某个元素是否存在于数组中,但是它的返回值是元素的下标,如果要判断是否存在,还需要再次进行比较。而 includes 方法可以直接返回布尔值,更加方便和直观。
使用 includes 方法还可以避免一些由 indexOf 方法引发的问题。比如,在字符串中查找子字符串时,如果使用 indexOf 方法,则可能会出现这样的问题:
const str = "hello world"; if (str.indexOf("world")) { // 代码不会执行 // 因为indexOf(“world”)的结果是0, // 在if语句中会被当作 false 处理。 }
而使用 includes 方法则可以避免这种问题,因为它的返回值是布尔值,不会受到下标的影响。
示例:使用 includes 方法过滤数组元素
下面是一个使用 includes 方法的示例,我们可以用它来过滤数组中的一些元素:
const array = [1, 2, 3, 4, 5, 6]; // 过滤偶数元素 const oddArray = array.filter(x => !([2, 4, 6].includes(x))); console.log(oddArray); // [1, 3, 5]
在这个示例中,我们首先定义了一个数组 array,然后使用 includes 方法过滤出了其中的奇数元素,得到了一个包含奇数的新数组 oddArray。
结论
ES10 中新增的 Array.includes 方法可以方便地检查数组中是否存在某个元素,使用它可以使代码更加简洁、可读和易于维护。如果你还没有使用这个方法,建议在编写 JavaScript 程序时尝试使用它,相信它会给你带来极大的便利。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/67315763719beef3d507878d