2026年6月22日 星期一

關於 Map.getOrInsert()

 關於 Map.getOrInsert()

前言

  最近發現 Map 本身有提供取得內容如果沒有的話就自動插入的功能,也就是 Map.getOrInsert() ,在此把學習的過程做個紀錄。


內容

  範例如下

let map = new Map();
map.set( 'A' , 1234 );
map.set( 'B' , 5678 );
//
console.log( map.get( 'A') );//1234
console.log( map.get( 'a') );//undefined
//
console.log( map.getOrInsert( 'A' , 9999) );//1234
console.log( map.getOrInsert( 'C' , 9999) );//9999
console.log( map.get( 'C') );//9999


Map.getOrInsert()  的用法只比 Map.get() 多一個引數,也就是當見直不存在要插入的的內容,範例開頭分別示範用  Map.get() 取得存在與不存在的鍵值狀況,接著就是 Map.getOrInsert() 取得已存在鍵值,結果跟 Map.get()  ,第二次就取得不存在的鍵值,由於不存在所以會被插入成一個新鍵值,內容就是第二個引數的內容,最後 Map.get() 確認新的鍵值是否有被確實的插入。

 

參考資料

[ developer.mozilla.org ] Map.prototype.getOrInsert()

沒有留言:

張貼留言