es6 では、配列の include() メソッドを使用して、配列に特定の値が含まれているかどうかを確認できます。構文は「array object.includes(value)」です。 」。
このチュートリアルの動作環境: Windows 7 システム、ECMAScript バージョン 6、Dell G3 コンピューター。
ES5 では、Array はすでに要素の位置を見つけるための indexOf を提供しており、要素が存在しない場合は -1 を返します。ただし、この関数には、配列に要素が含まれているかどうかを判断するときに - が返されるという小さな欠点があります。 1 と要素の位置は、それが含まれるかどうかを示すために使用されます。位置に関しては問題ありませんが、意味的には十分ではありません。もう 1 つの問題は、NaN 要素があるかどうかを判断できないことです。
例:
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', ' k'、NaN] console.log('%s', arr1.indexOf(NaN))
結果:
-1
ES6 は、特定の要素が含まれているかどうかを判断する Array.includes() 関数を提供し、それを見つけることができないことに加えて、 IndexOf の上記 2 つの問題。要素が含まれているかどうかを true または false で直接返します。また、NaN に対しても有効です。
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.includes('c')) console.log('%s', arr1.includes('z')) console.log('%s', arr1.includes(NaN))
結果:
true 間違い trueinclude() 関数
の 2 番目のパラメータは、
判定の開始位置を示します。const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', NaN] console.log('%s', arr1.includes('d', 1)) console.log('%s', arr1.includes('d', 3)) console.log('%s', arr1.includes('d', 4))
結果:
true 真実 false
2 番目のパラメータは、右からの番号を示す負の数にすることもできますが、検索の方向は変更されません。検索方向は依然として左から右です。
console.log('%s', arr1.includes('k', -1)) console.log('%s', arr1.includes('k', -2)) console.log('%s', arr1.includes('i', -3))
結果:
false 真実 誤った
要約:
配列に特定の値が含まれているかどうかを検出するために使用される include() メソッドは、NaN を判断でき、より直観的な true/false を直接返すこと
ができます
。NaN を判定すると、含まれていないことを意味する -1 が返され、非 1 は現在含まれている位置を意味します。
どちらの方法にも独自の長所と短所があり、実際の状況に応じて異なります。要素に NaN が含まれる場合は、includes() を使用します。それ以外の場合は、どちらでも使用できます。