2023年5月15日 星期一

在 JavaScript 裡合併 Map

 在 JavaScript 裡合併 Map

前言

  最近在 [ developer.mozilla.org ] Map 發現 Map 可以用很簡單的方法合併,在此把學習的過程做個紀錄。


內容

  範例如下

let map1 = new Map( [
  [ 1 , '123'] ,
  [ 2 , '456'] ,
  [ 3 , '789'] 
] );
let map2 = new Map( [
  [ 1 , 'I am 1'] ,
  [ 2 , 'I am 2'] ,
  [ 4 , 'I am 4'] 
] );
//
let combinedMap1 = new Map( [ ...map1 , ...map2] );
for( let [ key , value] of combinedMap1.entries() ){
  console.log(`Key:${ key } Value:${ value }`);
}
// "Key:1 Value:I am 1"
// "Key:2 Value:I am 2"
// "Key:3 Value:789"
// "Key:4 Value:I am 4"

//
let combinedMap2 = new Map( [ 
  ...map1 , 
  [ 4 , '1234' ],
  [ 2 , '2887' ]
] );
for( let [ key , value] of combinedMap2.entries() ){
  console.log(`Key:${ key } Value:${ value }`);
}
// "Key:1 Value:123"
// "Key:2 Value:2887"
// "Key:3 Value:789"
// "Key:4 Value:1234"


合併的方法是透過初始哈的參數來達成,合併時可以看到如果碰到同樣的 Key  的話會是後面合併的 Map 的內容,也可以直接想成照陣列的順序來加入內容,範例的第二段示範了直接加入 Key 的方法,就是直接透過陣列來增加,當然如果有重複還是會以後面的為主。


參考資料

[ developer.mozilla.org ] Map

沒有留言:

張貼留言