ES6学习理解-Array扩展方法includes()

936 阅读3分钟

这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战

熟练使用 ES6 及更高版本对于我们在项目开发中可提高开发效率! 本文来学习 ES6 对数组的扩展方法: Array.includes()

前面文章学习了 JavaScript 中操作数组的一些方法(Array.splice()/slice()/map()/reduce()等高阶函数), JavaScript 并不完美但是不影响其运行, 这里学习其中的一些神奇"bug"直达列表

ES6 - Array.includes()

ES6 引入了 Array.prototype.includes 方法, 返回一个布尔值,表示某个数组是否包含给定的值,与字符串的includes方法类似

Array.includes() | MDN

Array.includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。

includes() 使用

要注意这里不是 include! 而是 includes 有个 s , 不要记混淆了..

[1, 2, 3].includes(2)     // true
[1, 2, 3].includes(4)     // false
[1, 2, NaN].includes(NaN) // true

let pets = ['cat', 'dog', 'bat']
console.log(pets.includes('cat')) // output: true

使用语法:

在上面的方法使用 只有一个参数, 当然还有第二个参数: 表示开始搜索的位置, 其正负表示向后或向前搜索. 其使用语法如下:

arr.includes(valueToFind[, fromIndex])

valueToFind: 表示需要查找的元素值。

注意: 使用 includes()比较字符串和字符时是区分大小写的。

fromIndex (可选): 表示从fromIndex 索引处开始查找 第一个参数valueToFind。如果为负值,则按升序从 array.length +(表示俩者结合) fromIndex 的索引开始搜 (即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。默认为 0。

返回值是一个布尔值 Boolean : 如果在数组中(或 fromIndex 指定的范围中)找到了 valueToFind,则返回 true,否则返回 false。

0 值将全部视为相等, 与符号无关(即 -0 与 0 和 +0 相等),但 false 不被认为与 0 相等。

如果 fromIndex 大于等于数组的长度,则将直接返回 false,且不搜索该数组:

let arr = ['a', 'b', 'c'];

arr.includes('c', 3);   // false
arr.includes('c', 100); // false

相关阅读文章列表

学习 ES6系列:

  1. ES6-解构赋值
  2. ES6-数组扩展方法-find()/findIndex()
  3. ES6-数组扩展方法-Array.from()处理数组

学习参考文档