Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript TypedArray.includes() 함수 완벽 정리 – 타입 배열 요소 포함 여부 확인하기

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)에서 표준화된 메서드로, 모든 최신 브라우저에서 지원됩니다.