2023年5月1日 星期一

關於 JavaScript 的 Set 瀏覽

 關於 JavaScript 的 Set 瀏覽

前言

  在之前的 關於 JavaScript 的 Set 簡單用了 Set ,但只是簡單使用,沒用到瀏覽,最近需要瀏覽 Set ,所以發現 Set 的瀏覽有一些不直覺,在此把學習的過程做個紀錄。


內容

  範例如下

let valueSet = new Set( [ 'z' , 12 , 'abc' , 1234] );
//use Set.entries()
for( const [ key , value ] of valueSet.entries() )
  console.log( `key:${ key } value:${ value }`);
// "key:z value:z"
// "key:12 value:12"
// "key:abc value:abc"
// "key:1234 value:1234"

//use Set.keys()
for( const key of valueSet.keys() )
  console.log( `key:${ key }`);
// "key:z"
// "key:12"
// "key:abc"
// "key:1234"

//use Set.values()
for( const value of valueSet.values() )
  console.log( `value:${ value }`);
// "value:z"
// "value:12"
// "value:abc"
// "value:1234"


Set 同時堤供三個瀏覽的方法,分別是 Set.entries() 、 Set.keys() 與 Set.values()  ,Set.entries()  瀏覽後會發現 iterator 會是 key 與 value !?,而且 key 與 value 的值永遠是一樣的,這個原因可以在 [ developer.mozilla.org ] Set.prototype.entries() 裡找到,是為了與 Map 有一樣概念,但這樣就用起來不太直覺,而透過 Set.keys() 與 Set.values() 瀏覽其實都可以,結果都會是一樣的。


參考資料

[ developer.mozilla.org ] Set

[ developer.mozilla.org ] Set.prototype.entries()


相關文章與資料

關於 JavaScript 的 Set

對 JavaScript 的 Set 的觀念修正

沒有留言:

張貼留言