我一直在阅读有关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/

10-09 17:06