【ES7(2016)】Array.prototype.includes()
10800 ワード
ES 7の前に配列に要素が含まれているかどうかを判断するには、基本的にこのように書くことができます.
ES 7によって導入された
基本的な使い方
インデックスの場所に関係なく、値が配列に存在するかどうかを知りたい場合はincludes()を使用することをお勧めします.配列内の値の位置を取得するにはindexOfメソッドしか使用できません.
let array1 = [1,2,3,4,5]
console.log(array1.find(function(item) {
return item === 2
}))
//
console.log(array1.filter(function(item) {
return item === 2
}).length > 0)
ES 7によって導入された
Array.prototype.includes()
方法は、配列が指定された値を含むかどうかを判断するために使用され、場合によっては、含まれている場合はtrue
を返し、そうでない場合はfalse
を返す.基本的な使い方
const arr = ['es6', 'es7', 'es8']
console.log(arr.includes('es6')) // true
console.log(arr.includes('es9')) // false
// , , searchElement。
const arr = ['es6', 'es7', 'es8']
console.log(arr.includes('es7', 1)) // true
console.log(arr.includes('es7', 2)) // false
console.log(arr.includes('es7', -1)) // false
console.log(arr.includes('es7', -2)) // true
indexOf()
と比較:['a', 'b', 'c'].includes('a') //true
['a', 'b', 'c'].indexOf('a') > -1 //true
console.log(arr.indexOf('es7')) // 1
console.log(arr.indexOf('es7') > -1) // true
includes
は単純なタイプのデータしか判断できず、複雑なタイプのデータ、例えば対象タイプの配列、二次元配列については判断できない.const arr = [1, [2, 3], 4]
arr.includes([2, 3]) //false
arr.indexOf([2, 3]) //-1
indexOf
とincludes
は違います.const demo = [1, NaN, 2, 3]
demo.indexOf(NaN) //-1
demo.includes(NaN) //true
インデックスの場所に関係なく、値が配列に存在するかどうかを知りたい場合はincludes()を使用することをお勧めします.配列内の値の位置を取得するにはindexOfメソッドしか使用できません.