자바스크립트 - 설정

저는 현재 #100DaysOfCode 챌린지에 참여하고 있으며 매일 JavaScript를 사용하여 하나의 데이터 구조 및 알고리즘 문제를 해결하려고 합니다. 저는 Set 및 Map을 만났고 Set 객체 유형에 대해 조금 이야기하고 싶습니다.

세트


Set 객체 유형은 ECMAScript 2015(또는 ES6)에서 도입되어 모든 종류의 JavaScript 데이터 유형을 고유한 요소 집합으로 저장할 수 있습니다. JavaScript의 Array와 매우 유사하지만 Set의 요소에 액세스, 확인 및 삭제할 수 있는 다른 구문이 있습니다. 이 특정 개체 유형에는 고유한 메서드, 특히 .has()와 매우 유사한 Set 내부의 요소를 확인할 수 있는 Array.prototype.includes 메서드가 있으며 MDN Docs에 따르면 .includes보다 빠릅니다. 평균적으로.
Set 객체 유형과 함께 사용할 수 있는 메서드는 .add() , .clear() , .delete().has() 입니다. 또한 .size와 유사한 속성 Array.prototype.length도 있습니다.

예: Set 메서드 중 일부를 살펴보겠습니다.


const twiceTwice = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];

const uniqueNumbers = new Set(twiceTwice);

console.log(uniqueNumbers) // { 1, 2, 3, 4, 5 };

// can add new elements, any data type
uniqueNumbers.add("Rasengan");
uniqueNumbers.add({name: "Tanwa", favouriteColor: "Red"});
console.log(uniqueNumbers);
/* Set(7) {1, 2, 3, 4, 5, …}
[[Entries]]
0: 1
1: 2
2: 3
3: 4
4: 5
5: "Rasengan"
6:
value: {name: 'Tanwa', favouriteColor: 'Red'}
size: 7 */

// check for an element
uniqueNumbers.has("Rasengan"); // True

// delete an element
uniqueNumbers.delete(2); // True

// check size
uniqueNumbers.size; // 6

// clear
uniqueNumbers.clear();




사용 사례 예



3. Longest Substring Without Repeating Characters on leetcode을 해결하기 위해 Set를 사용하여 두 개의 포인터를 사용하여 문자열을 반복하고 각 반복에서 .has()를 사용하여 요소가 이미 존재하는지 확인하기 위해 .add()를 사용하여 설정을 확인하면서 하위 문자열을 형성하고 저장했습니다. 새 값을 추가하거나 .delete() 왼쪽부터 요소를 제거합니다. 내 website에서 내 솔루션을 볼 수 있습니다.

요약


Set는 모든 유형의 고유한 요소를 저장할 수 있는 객체 유형입니다. 방법은 다음과 같습니다.
  • .add() : Set 끝에 새 요소를 추가할 수 있습니다. 새 항목Set을 반환합니다.
  • .clear() : Set 의 모든 요소를 ​​제거할 수 있습니다.
  • .delete() : Set에서 특정 값을 제거할 수 있습니다. 요소가 Set 에 없으면 false를 반환합니다. 요소를 성공적으로 제거하면 true를 반환합니다.
  • .has() : 요소가 Set에 있는지 확인할 수 있습니다. Boolean 를 반환합니다.

  • 다음에 고유한 값 집합에서 특정 요소를 제거해야 할 때 Set 및 해당 메서드를 사용해 볼 수 있습니다.

    읽어 주셔서 감사합니다. 도움이 되었기를 바랍니다. 댓글과 피드백이 있다면 남겨주세요 :)

    좋은 웹페이지 즐겨찾기