includes & 乘方
一、includes
1、数组判断元素是否存在的方法
1-1、ES5 indexOf
数组中有的返回下标,没有的返回 -1,但是其无法查找数组中的 NaN
。
const arr = ['foo', 1, NaN, false]
arr.indexOf('foo') // 0
arr.indexOf('bar') // -1
arr.indexOf(NaN) // -1
1-2、ES5 filter
const arr = ['foo', 1, NaN, false]
const hasVal = (arr, val) => {
let result = arr.filter((item) => {
return item === val
}).length > 0
return result
}
hasVal(arr, 'foo') // true
hasVal(arr, 'bar') // false
hasVal(arr, NaN) // false
1-3、ES6 find
const arr = ['foo', 1, NaN, false]
arr.find((item) => { return item === 'foo' }) // 'foo'
arr.find((item) => { return item === 'bar' }) // undefined
arr.find((item) => { return item === NaN }) // undefined
1-4、ES7 includes
方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。
const arr = ['foo', 1, NaN, false]
arr.includes('foo') // true
arr.includes('bar') // false
arr.includes(NaN) // true
总结:只有 includes 可以查找 NaN
。
二、乘方
1、数字实现乘方的方法
1-1、ES5 pow
Math.pow(2, 3) // 8
1-2、ES7 **
2 ** 3 // 8