# ES7(一) —— includes

# 数组如何判断元素是否存在?

# ES5 indexOf

数组中有的返回下标,没有的返回-1,但是其无法查找数组中的NaN

const arr = ['foo', 1, NaN, false]
console.log(arr.indexOf('foo'))  // 0
console.log(arr.indexOf('bar'))  // -1
console.log(arr.indexOf(NaN))  // -1
1
2
3
4

# ES5 filter

array1.filter(function (item) { return item === 2 }).length > 0
1

# ES6 用find

array1.find(function (item) { return item === 2 })
1

# ES7 includes

# Array.prototype.includes

Array.prototype.includes()

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

const arr = [1,2,3,4,5,7]

console.log(arr.includes(4)) // true
console.log(arr.includes(40)) // false
1
2
3
4

PS:indexOf无法查找NaN,使用includes可以查找NaN

更新时间: 2021-02-25 00:05