es6에서는 배열에 특정 값이 포함되어 있는지 확인하기 위해 배열의 include() 메서드를 사용할 수 있습니다. 이 메서드는 배열에 특정 값이 포함되어 있는지 확인하는 데 사용할 수 있습니다. 구문은 "array object.includes(value)입니다. ".

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.
ES5에서 Array는 이미 요소의 위치를 찾기 위해 indexOf를 제공합니다. 존재하지 않으면 -1을 반환합니다. 그러나 이 함수는 배열에 요소가 포함되어 있는지 확인할 때 두 가지 사소한 단점이 있습니다. 1과 요소의 위치는 포함 여부를 나타내는 데 사용됩니다. 위치 지정에는 문제가 없지만 의미상 충분하지 않습니다. 또 다른 문제는 NaN 요소가 있는지 여부를 확인할 수 없다는 것입니다.
예:
const arr1 = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', ' k', NaN]
console.log('%s', arr1.indexOf(NaN)) result:
-1
ES6은 특정 요소가 포함되어 있는지 확인하는 Array.includes() 함수를 제공합니다. indexOf의 두 가지 문제. 요소가 포함되어 있는지 여부를 나타내기 위해 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() 함수
의 두 번째 매개변수는
판단의 시작 위치를 나타냅니다.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
두 번째 매개변수는 음수일 수도 있습니다. 즉, 오른쪽부터의 숫자를 나타내지만 검색 방향은 변경되지 않습니다. 검색 방향은 여전히 왼쪽에서 오른쪽입니다.
console.log('%s', arr1.includes('k', -1))
console.log('%s', arr1.includes('k', -2))
console.log('%s', arr1.includes('i', -3)) 결과:
false 진실 false
요약:
배열에 특정 값이 포함되어 있는지 여부를 감지하는 데 사용되는 include() 메서드
는 NaN을 판단할 수 있으며 요소의 위치를 찾는 데 사용되는 보다 직관적인 true/false를 직접 반환할 수 없습니다
.NaN 은 포함되지 않음을 의미하는 -1을 반환하고, 1이 아닌 것은 현재 포함된 위치를 의미합니다.
두 가지 방법 모두 실제 상황에 따라 장점과 단점이 있습니다. 요소에 NaN이 포함되어 있으면 include()를 사용하고, 그렇지 않으면 둘 중 하나를 사용할 수 있습니다.