TypedArray 객체의 includes() 함수는 값을 인자로 받아 해당 타입 배열(typed array)에 지정된 요소가 포함되어 있는지 확인합니다. 배열에 주어진 요소가 존재하면 true를 반환하고, 존재하지 않으면 false를 반환합니다.
이 메서드는 일반 Array 객체의 includes()와 동일하게 동작하며, 내부적으로 SameValueZero 알고리즘을 사용해 요소를 비교합니다. 또한 두 번째 인자로 검색을 시작할 인덱스(fromIndex)를 선택적으로 전달할 수 있습니다.
문법(Syntax)
typedArray.includes(searchElement[, fromIndex])
- searchElement: 배열에서 찾고자 하는 요소입니다.
- fromIndex(선택 사항): 검색을 시작할 위치를 나타내는 인덱스입니다. 음수를 지정하면 배열 끝에서부터 계산됩니다.
예제 1: 요소가 존재하는 경우
<html>
<head>
<title>JavaScript TypedArray includes Method</title>
</head>
<body>
<script type="text/javascript">
var int32View = new Int32Array([21, 19, 65, 21, 14, 66, 87, 55]);
document.write("타입 배열의 내용: " + int32View);
document.write("<br>");
var contains = int32View.includes(66);
if (contains) {
document.write("배열에 지정된 요소가 존재합니다");
} else {
document.write("배열에 지정된 요소가 존재하지 않습니다");
}
</script>
</body>
</html>실행 결과
타입 배열의 내용: 21,19,65,21,14,66,87,55 배열에 지정된 요소가 존재합니다
위 예제에서는 Int32Array에 값 66이 포함되어 있으므로 includes(66)은 true를 반환하고, 조건문의 참 블록이 실행됩니다.
예제 2: 요소가 존재하지 않는 경우
<html>
<head>
<title>JavaScript TypedArray includes Method</title>
</head>
<body>
<script type="text/javascript">
var int32View = new Int32Array([21, 19, 65, 21, 14, 66, 87, 55]);
document.write("타입 배열의 내용: " + int32View);
document.write("<br>");
var contains = int32View.includes(762);
if (contains) {
document.write("배열에 지정된 요소가 존재합니다");
} else {
document.write("배열에 지정된 요소가 존재하지 않습니다");
}
</script>
</body>
</html>실행 결과
타입 배열의 내용: 21,19,65,21,14,66,87,55 배열에 지정된 요소가 존재하지 않습니다
이번에는 배열에 없는 값 762를 검색했기 때문에 includes(762)는 false를 반환하며, else 블록의 문장이 출력됩니다.
참고 사항
includes()는indexOf()와 달리NaN도 올바르게 찾아낼 수 있습니다.- 검색 위치를 제어하려면 두 번째 인자
fromIndex를 활용하세요. 예를 들어int32View.includes(21, 3)은 인덱스 3부터 검색을 시작합니다. - ES2016(ECMAScript 7)에서 표준화된 메서드로, 모든 최신 브라우저에서 지원됩니다.