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

JavaScript 배열(Array)과 Set의 차이점 완벽 정리

Set 자료형은 ES2015(ES6)에서 처음 도입되었습니다. 배열(Array)과 Set의 가장 큰 차이점은 다음 두 가지로 정리할 수 있습니다.

  • 중복 값 허용 여부: 배열은 동일한 값을 여러 번 저장할 수 있지만, Set은 중복된 값을 허용하지 않습니다.
  • 요소 접근 방식: 배열은 인덱스(index)를 사용해 특정 요소에 바로 접근할 수 있지만, Set은 인덱스 접근이 불가능합니다. Set의 요소는 삽입된 순서대로만 순회(traverse)할 수 있습니다.

아래 예제 코드를 통해 배열과 Set의 차이를 직접 확인해 보겠습니다.

예제 코드

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
<style>
   body {
      font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
   }
   .result,.sample {
      font-size: 18px;
      font-weight: 500;
      color: rebeccapurple;
   }
   .result {
      color: red;
   }
</style>
</head>
<body>
<h1>Array Vs Set</h1>
<div class="sample"></div>
<div class="result"></div>
<button class="Btn">Convert</button>
<h3>Click on the above button to convert the above array into a set</h3>
<script>
   let resultEle = document.querySelector(".result");
   let sampleEle = document.querySelector(".sample");
   let arr = [2, 3, 4, 2, 3, 4, "A", "A", "B", "B"];
   sampleEle.innerHTML = "arr = " + arr;
   document.querySelector(".Btn").addEventListener("click", () => {
      let set1 = new Set(arr);
      resultEle.innerHTML = "set1 = " + [...set1] + "<br>";
   });
</script>
</body>
</html>

실행 결과

위 코드를 실행하면 다음과 같은 화면이 출력됩니다.

JavaScript 배열(Array)과 Set의 차이점 완벽 정리

'Convert' 버튼을 클릭하면 −

JavaScript 배열(Array)과 Set의 차이점 완벽 정리

배열 arr = [2, 3, 4, 2, 3, 4, "A", "A", "B", "B"]new Set()으로 변환되면서 중복된 숫자와 문자가 모두 제거되고, 각 요소가 한 번씩만 남게 됩니다. 이것이 바로 Set이 가진 강력한 특징입니다. 중복 제거가 필요할 때 배열을 Set으로 손쉽게 변환하여 활용할 수 있습니다.