關於列印 Set 的內容
前言
最近需要列印 Set 的內容,結果發現 Set.toString() 並不會如預期的列印內容, Set 本身也沒提供直接列印的方法,那只能自己來了,在此做個紀錄。
內容
結果如下
let set = new Set(['a','b','c']);
function setValuesToString(set){
let resStr = '[';
let itor = set.values();
for (const val of itor){
resStr += val + ',';
}
//
if(resStr.length != 1)
resStr = resStr.substring( 0 , resStr.length - 1 );
//
resStr += ']';
return resStr
}
//
console.log( setValuesToString( set ) );//[a,b,c]
console.log( setValuesToString( new Set() ) );//[]
透過 setValuesToString() 輸入欲取得內容的 Set ,就可以會回傳內容的字串。過程是透過 Set.vlues() 來瀏覽每個內容後加 ',',中間的 subString() 是要覆蓋掉最後一個 ','。