在 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 的方法,就是直接透過陣列來增加,當然如果有重複還是會以後面的為主。
沒有留言:
張貼留言