在进入 javascript 地图之前使用 _c
Using _c before get in javascript map
假设我有一张地图
let map = new Map();
let newMap = {...map};
newMap.get(key)
对我不起作用,我必须做 newMap._c.get(key)
有没有人遇到过这个问题?
{...foo}
是一个对象传播。它将从一个对象中复制所有可枚举的属性,就像 Object.assign({}, foo)
.
问题是 Map
的 key/values 对不是属性,它们是映射内不透明数据结构中的存储。 ...
无法复制地图,因为它不访问地图数据。您看到 _c
的原因是因为这是您的 Map polyfill 用来实现私有内部数据结构的私有数据结构。
要复制 Map,您可以使用 Map
构造函数,它以一个可迭代对象作为参数,并且由于 Map
实例是可迭代的,您可以简单地执行
var newMap = new Map(map);
假设我有一张地图
let map = new Map();
let newMap = {...map};
newMap.get(key)
对我不起作用,我必须做 newMap._c.get(key)
有没有人遇到过这个问题?
{...foo}
是一个对象传播。它将从一个对象中复制所有可枚举的属性,就像 Object.assign({}, foo)
.
问题是 Map
的 key/values 对不是属性,它们是映射内不透明数据结构中的存储。 ...
无法复制地图,因为它不访问地图数据。您看到 _c
的原因是因为这是您的 Map polyfill 用来实现私有内部数据结构的私有数据结构。
要复制 Map,您可以使用 Map
构造函数,它以一个可迭代对象作为参数,并且由于 Map
实例是可迭代的,您可以简单地执行
var newMap = new Map(map);