JavaScript에서는 === 연산자만으로는 배열 전체를 직접 비교할 수 없습니다. 대신 반복문을 사용해 두 배열의 요소를 하나씩 대조하는 방식으로 비교를 수행합니다.
아래 예제에서는 중첩 for 반복문을 활용하여 첫 번째 배열(arr1)의 각 요소가 두 번째 배열(arr2)에 존재하는지 확인하고, 일치하는 요소를 화면에 출력합니다.
예제 코드
<html>
<body>
<script>
var arr1 = [50,60,65,90];
var arr2 = [25,35,50,90];
for (i = 0; i < arr1.length; i++) {
for (z = 0; z < arr1.length; z++) {
if (arr1[i] === arr2[z]) {
document.write("<br>Matched element: " + arr2[z]);
}
}
}
</script>
</body>
</html>
실행 결과
Matched element: 50
Matched element: 90
코드 설명
1. 배열 선언: 두 개의 숫자 배열 arr1과 arr2를 생성합니다.
2. 외부 반복문: arr1의 요소를 인덱스 i로 순회합니다.
3. 내부 반복문: arr2의 요소를 인덱스 z로 순회하며 현재 arr1[i] 값과 비교합니다.
4. 일치 여부 판별: ===(엄격한 동등 연산자)로 값과 자료형이 모두 같은지 검사한 뒤, 일치하면 해당 값을 문서에 출력합니다.
참고 사항
위 방법은 소규모 배열에는 충분하지만, 시간 복잡도가 O(n²)이므로 데이터가 많다면 filter()와 includes()를 조합하거나 Set 객체를 활용하면 더 효율적으로 교집합을 구할 수 있습니다.