【问题标题】:JavaScript6: adding element (key, value) to a ES6 mapJavaScript:将元素(键,值)添加到 ES6 映射
【发布时间】:2017-05-10 20:40:11
【问题描述】:

在 jsx 中,我有一个类似的地图:

var myMap=Map([['rowNumber', '30'], ['id', '80'], ['firstName', '180'], ['lastName', '180'], ['mobile', '180'], ['username', '180'], ['password', '180']])

如何以编程方式添加新元素,例如:['ssn', '12'] 到这张地图?

【问题讨论】:

  • “语法上”?只需将它们插入代码中?
  • 喜欢:myMap.push(['ssn', '12'])?
  • 不应该是new Map(…)吗?
  • 地图已经存在。我想使用一种推送方法添加另一个元素

标签: javascript ecmascript-6 jsx


【解决方案1】:

您正在寻找set method

myMap.set('ssn', '12');

如果你有一个入口元组,你可以使用

const newEntry = ['ssn', '12'];
myMap.set(newEntry[0], newEntry[1]);
// or also
myMap.set(...newEntry) // however that might be confusing

【讨论】:

    【解决方案2】:

    查看地图参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map

    您可以通过以下方式将项目添加到地图:myMap.set(keyString, "value associated with 'a string'");

    【讨论】:

      【解决方案3】:

      您可以使用带有扩展语法的set() 方法来添加两个元素的数组作为键和值。

      var myMap = new Map([['rowNumber', '30'], ['id', '80'], ['firstName', '180'], ['lastName', '180'], ['mobile', '180'], ['username', '180'], ['password', '180']])
      
      myMap.set(...['ssn', '12'])
      for(var i of myMap) console.log(i)

      【讨论】:

        猜你喜欢
        • 2014-03-14
        • 2021-12-02
        • 2018-10-01
        • 2011-11-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多