我一直在阅读有关WeakMap的MDN文档。
它提到了语法:new WeakMap([iterable])
但是当我尝试这样做时,发生了错误:
var arr = [{a:1}];
var wm1 = new WeakMap(arr);
您能否提供一个有关如何通过数组进行操作的示例?
最佳答案
该文件说:
{a: 1}
是一个对象,而不是2元素数组。
再往下说:
因此,您不能在WeakMap
中使用字符串作为键。
尝试:
var obj = {a:1};
var arr = [[obj, 1]];
var wm1 = new WeakMap(arr);
console.log(wm1.has(obj));
关于javascript - 如何使用数组作为参数来新建WeakMap?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51515285/