gpt4 book ai didi

javascript - 如何以数组为参数新建 WeakMap?

转载 作者:行者123 更新时间:2023-12-03 07:20:53 25 4
gpt4 key购买 nike

我一直在阅读有关 WeakMap 的 MDN 文档。它提到了语法:

new WeakMap([iterable])

但是当我尝试这个时,发生了错误:

var arr = [{a:1}];
var wm1 = new WeakMap(arr);

Uncaught TypeError: Invalid value used as weak map key

能否请您提供一个关于如何通过数组来实现的示例?

最佳答案

文档说:

Iterable is an Array or other iterable object whose elements are key-value pairs (2-element Arrays).

{a: 1} 是一个对象,而不是一个二元数组。

下面说:

Keys of WeakMaps are of the type Object only.

所以你不能在 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com