.map() a Javascript ES6 Map?

前端 未结 13 2138
不思量自难忘°
不思量自难忘° 2020-12-04 20:53

How would you do this? Instinctively, I want to do:

var myMap = new Map([[\"thing1\", 1], [\"thing2\", 2], [\"thing3\", 3]]);

// wishful, ignorant thinking
         


        
13条回答
  •  醉梦人生
    2020-12-04 21:10

    You can use myMap.forEach, and in each loop, using map.set to change value.

    myMap = new Map([
      ["a", 1],
      ["b", 2],
      ["c", 3]
    ]);
    
    for (var [key, value] of myMap.entries()) {
      console.log(key + ' = ' + value);
    }
    
    
    myMap.forEach((value, key, map) => {
      map.set(key, value+1)
    })
    
    for (var [key, value] of myMap.entries()) {
      console.log(key + ' = ' + value);
    }

提交回复
热议问题