#JS筆記 ES6的Set是什麼?

De_
Jul 22, 2021

--

ES6

今天要介紹的是Set物件,它是ES6提供的構造函數。

特點:

  • 儲存唯一值
  • 可以儲存任何型別 (基本型別或物件皆可)

語法:

new Set([iterable]);

將一個可迭代的物件作為參數傳入,其中所有的元素都會放到新的Set當中。

如果參數為null或沒有指定參數,則新的Set會是空的。

方法:

實際應用:

這邊取兩個leetcode題目作為示範

136. Single Number

Given a non-empty array of integers nums, every element appears twice except for one. Find that single one.

Input: nums = [4,1,2,1,2] Output: 4

利用Set只保留唯一值的特性,我們可以先算出不重複的陣列值加總為何,將其乘以二後再扣除原本陣列的總和,就能知道哪個值沒有重複出現。

217. Contains Duplicate

Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

Input: nums = [1,2,3,4] Output: false

Input: nums = [1,2,3,1] Output: true

利用Set, 我們可以先將nums中的唯一值存下來,並且和原本nums的長度做比較。如果有重複值,則原本nums的長度自然會大於new Set(nums)的長度

以上就是這次的Set分享,若文章有誤或是有任何心得歡迎留言告訴我!

參考資料

--

--

De_
De_

Written by De_

Who dares, wins. | Backend Engineer | Voracious Reader | Dog Person | Open to challenge

No responses yet