>  기사  >  웹 프론트엔드  >  es6에서 배열에 특정 값이 포함되어 있는지 확인하는 방법

es6에서 배열에 특정 값이 포함되어 있는지 확인하는 방법

青灯夜游
青灯夜游원래의
2022-03-07 18:35:3110504검색

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

es6에서 배열에 특정 값이 포함되어 있는지 확인하는 방법

이 튜토리얼의 운영 환경: Windows 7 시스템, ECMAScript 버전 6, Dell G3 컴퓨터.

ES5에서는 배열이 요소의 위치를 ​​찾기 위해 이미 indexOf를 제공합니다. 존재하지 않으면 -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의 위 두 가지 문제를 해결합니다. 요소가 포함되어 있는지 여부를 나타내기 위해 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))

Result:

true
false
true

includes() 함수의 두 번째 매개변수는 판단의 시작 위치를 나타냅니다.

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
true
false

두 번째 매개변수는 음수일 수도 있으며 이는 오른쪽으로부터의 숫자를 나타냅니다. 그러나 검색 방향은 변경되지 않으며 검색 방향은 여전히 ​​왼쪽에서 오른쪽입니다.

console.log('%s', arr1.includes('k', -1))
console.log('%s', arr1.includes('k', -2))
console.log('%s', arr1.includes('i', -3))

결과:

false
true
false

요약:

includes() 메서드는 배열에 특정 값이 포함되어 있는지 여부를 감지하는 데 사용되며 NaN을 확인하고 더 직관적인 true/false를 직접 반환할 수 있습니다. , 특정 요소의 위치를 ​​찾으려면 NaN을 판단할 수 없으며 -1이 반환됩니다. 즉, -1이 아닌 경우 현재 포함된 위치입니다.

두 방법 모두 실제 상황에 따라 장단점이 있습니다. 요소에 NaN이 포함되어 있으면 include()를 사용하고, 그렇지 않으면 둘 중 하나를 사용할 수 있습니다.

【관련 추천:

javascript 비디오 튜토리얼

, web front-end

위 내용은 es6에서 배열에 특정 값이 포함되어 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.