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